Z80- oder 8080-Baugruppe, 21 Byte Maschinencode
Angenommen, ein speicherzugeordnetes E / A-Gerät:
Z80 8080
3A xx xx ld a, (Eingabe) lda-Eingabe; Eingabezeichen holen
11 0A 20 ld de, 200ah lxi d, 200ah; Leerzeichen & Zeilenumbruch
21 yy yy ld hl, Ausgabe lxi h, Ausgabe; Ausgabeadresse abrufen
77 ld (hl), a mov m, a; Ausgabezeichen * 3
77 ld (hl), a mov m, a
77 ld (hl), a mov m, a
73 ld (hl), e mov m, e; Ausgabe Newline
77 ld (hl), a mov m, a; Ausgabezeichen
72 ld (hl), dmovm, d; Ausgaberaum
77 ld (hl), a mov m, a; Ausgabezeichen
73 ld (hl), e mov m, e; Ausgabe Newline
77 ld (hl), a mov m, a; Ausgabezeichen * 3
77 ld (hl), a mov m, a
77 ld (hl), a mov m, a
76 halt hlt; oder C9 ret
Kein Dolmetscher nötig!
Hexdump:
0000: 3A 00 FF 11 0A 20 21 01 FF 77 77 77 73 77 72 77
0010: 73 77 77 77 76
Dabei ist die Eingabeadresse auf FF00h und die Ausgabeadresse auf FF01h abgebildet. Die tatsächlichen Adressen hängen von der tatsächlichen Hardware ab. Dies setzt natürlich voraus, dass die E / A speicherabgebildet ist. Wenn es sich um eine E / A-Zuordnung handelt, werden mehrere zusätzliche Bytes benötigt, da die E / A-Anweisungen für Z80 und 8080 jeweils aus zwei Bytes bestehen. Dies setzt auch voraus, dass das Ausgabegerät 0Ah als Zeilenumbruch interpretiert und keinen CR (0Dh) benötigt, der dem Programm zusätzliche 4 Bytes hinzufügt.