Z80 또는 8080 어셈블리, 21 바이트 머신 코드
메모리 맵핑 된 I / O 장치를 가정하십시오.
Z80 8080
3A xx xx ld a, (입력) lda 입력; 입력 문자를 얻을
110 A 20 ld de, 200ah lxi d, 200ah; 공간 및 개행
21 yy yy ld hl, 출력 lxi h, 출력; 출력 주소를 얻다
77 d1 (h1), mov m, a; 출력 문자 * 3
77 ld (hl), mov m, a
77 ld (hl), mov m, a
73 ld (hl), e mov m, e; 줄 바꿈 출력
77 d1 (h1), mov m, a; 출력 문자
72 ld (11), d mov m, d; 출력 공간
77 d1 (h1), mov m, a; 출력 문자
73 ld (hl), e mov m, e; 줄 바꿈 출력
77 d1 (h1), mov m, a; 출력 문자 * 3
77 ld (hl), mov m, a
77 ld (hl), mov m, a
76 정지 정지; 또는 C9 ret
통역이 필요 없습니다!
16 진 덤프 :
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 명령어는 각각 2 바이트이므로 몇 바이트가 더 필요합니다. 또한 출력 장치가 0Ah를 줄 바꿈으로 해석하고 프로그램에 추가 4 바이트를 추가하는 CR (0Dh)이 필요하지 않다고 가정합니다.