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.