Autor Thema: Block-I7O-Operationen  (Gelesen 2611 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline oobdoo

  • CPC 6128
  • ****
  • Beiträge: 468
  • Liked: 123
  • Karma: +17/-0
  • Geschlecht: Männlich
  • :P
Block-I7O-Operationen
« am: 19. Februar 2015, 13:54:51 »
Im CPC Systembuch (gibts hier als PDF) steht auf Seite 625, das der CPC keine Block-I/O-Operationen anwenden kann. Wie ist denn das genauer zu verstehen?
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088

Online TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3288
  • Liked: 780
  • Karma: +39/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: Block-I7O-Operationen
« Antwort #1 am: 19. Februar 2015, 17:51:10 »
Bei Block I/O Operationen werden Bocks von Daten an eine durch Register C adressierte I/O Schnittstelle geschickt. Die Anzahl der Bytes steht in Register B.

Bei vielen Z80 Computern wird I/O nur über 8 Bit abgewickelt, also reicht Register C zur Adressierung.

Beim CPC wird aber 16 Bit I/O verwendet. Also: Es werden 8 Bit Daten über eine 16 Bit I/O Adresse geschickt. Dabei dienen B und C als 16 Bit Adresse.

Beispiel: LD BC,&7FC0 adressiert das Gate Array (&7F) und selektiert das Standard-RAM (&C0). Nun reicht ein OUT (C),C um den Wert aus Register C and die I/O Adresse von BC zu schicken.

Was der CPC schon kann ist aber z.B. INI (nur nicht INIR).
Bei INI muss anschließend einfach das B Register angepasst werden.

16 Bit I/O hat Vor- und Nachteile. Vorteil ist, dass man mehr Peripherie anschließen kann. Nachteil ist, dass es u. U. etwas langsamer ist.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 29.12.2020)
http://futureos.cpcwiki.de/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 21.01.2021)