แอสเซมบลี Z80 หรือ 8080 รหัสเครื่อง 21 ไบต์
สมมติว่าหน่วยความจำที่แมปอุปกรณ์ I / O:
Z80 8080
3A xx xx ld a, (อินพุต) อินพุต lda; รับตัวอักษร
11 0A 20 ld de, 200ah lxi d, 200ah; พื้นที่ & ขึ้นบรรทัดใหม่
21 yy yy ld hl, เอาท์พุท lxi h, เอาท์พุท; รับที่อยู่เอาท์พุท
77 ld (hl), mov m, a; อักขระเอาท์พุท * 3
77 ld (hl), mov m, a
77 ld (hl), mov m, a
73 ld (hl), e mov m, e; ขึ้นบรรทัดใหม่
77 ld (hl), mov m, a; ตัวละครออก
72 ld (hl), d mov m, d; พื้นที่ส่งออก
77 ld (hl), mov m, a; ตัวละครออก
73 ld (hl), e mov m, e; ขึ้นบรรทัดใหม่
77 ld (hl), mov m, a; อักขระเอาท์พุท * 3
77 ld (hl), mov m, a
77 ld (hl), mov m, a
76 halt hlt; หรือ C9 ret
ไม่จำเป็นต้องใช้ล่าม!
hexdump:
0000: 3A 00 FF 11 0A 20 21 01 FF 77 77 77 73 77 72 77
0010: 73 77 77 77 76
โดยที่ที่อยู่อินพุตอยู่ที่ FF00h และที่อยู่ของผลลัพธ์จะถูกแมปที่ FF01h ที่อยู่ที่แท้จริงจะขึ้นอยู่กับฮาร์ดแวร์ที่แท้จริง ของหลักสูตรนี้ถือว่า I / O คือหน่วยความจำที่แมป ถ้ามันถูกแมป I / O มันจะใช้เวลาหลายไบต์พิเศษเพราะคำแนะนำ Z80 & 8080 I / O เป็นสองไบต์ต่อกัน สิ่งนี้ยังถือว่าอุปกรณ์เอาต์พุตตีความ 0Ah เป็นบรรทัดใหม่และไม่จำเป็นต้องมี CR (0Dh) ซึ่งจะเพิ่ม 4 ไบต์พิเศษให้กับโปรแกรม