Assemblage Z80 ou 8080, code machine 21 octets
Supposons un périphérique d'E / S mappé en mémoire:
Z80 8080
3A xx xx ld a, (entrée) entrée lda; obtenir le caractère d'entrée
11 0A 20 ld de, 200ah lxi d, 200ah; espace et nouvelle ligne
21 aa aa aa hl, sortie lxi h, sortie; obtenir l'adresse de sortie
77 ld (hl), a mov m, a; caractère de sortie * 3
77 ld (hl), a mov m, a
77 ld (hl), a mov m, a
73 ld (hl), e mov m, e; sortie nouvelle ligne
77 ld (hl), a mov m, a; caractère de sortie
72 ld (hl), d mov m, d; espace de sortie
77 ld (hl), a mov m, a; caractère de sortie
73 ld (hl), e mov m, e; sortie nouvelle ligne
77 ld (hl), a mov m, a; caractère de sortie * 3
77 ld (hl), a mov m, a
77 ld (hl), a mov m, a
76 halte hlt; ou C9 ret
Aucun interprète nécessaire!
Hexdump:
0000: 3A 00 FF 11 0A 20 21 01 FF 77 77 77 73 77 72 77
0010: 73 77 77 77 76
où l'adresse d'entrée est à FF00h et l'adresse de sortie est mappée à FF01h. Les adresses réelles dépendront du matériel réel. Bien sûr, cela suppose que les E / S sont mappées en mémoire. S'il s'agit d'E / S mappées, cela prendrait plusieurs octets supplémentaires car les instructions d'E / S Z80 et 8080 sont de deux octets chacune. Cela suppose également que le périphérique de sortie interprète 0Ah comme une nouvelle ligne et ne nécessite pas de CR (0Dh) qui ajouterait 4 octets supplémentaires au programme.