Page 69 - 컴퓨터구조(프로그래밍 관점에서 바라보는)도서 미리보기
P. 69
281CHAPTER 7? 기계어 프로그래밍을 통한 컴퓨터 구조 이해
표 7.4? 1비트 addressing mode
Addressing Mode a-field Letters Operand
Immediate 0 i Operand Specifier
Indexed 1 x Mem (Operand Specifier + X )
이제 해당 프로그램의 두번째 인스트럭션을 분석해보자. 첫번째 인스트럭
션과 유사하다.
opcode addressing mode operand specifier yy01010: character
0101 0 000 0000 0000 0110 1001 output instruction.
세번째 인스트럭션은 1바이트 인스트럭션이다. 아래는 1바이트 명령어로 yy0 0 0 : i m m e d i a t e
써 stop 명령어이다. Stop 명령어는 프로그램 수행을 종료한다. addressing mode
yy0000 0000 0110 1001:
문자 ‘i’의 ASCII 값
opcode stop instruction
00000000 프로그램 수행을 종료한다.
즉, 위의 프로그램은 immediate addressing mode를 이용하여 ‘Hi’를 출력
하는 프로그램이다. 위와 동일한 기능을 수행하는 direct addressing mode
로 동작하는 프로그램을 작성해보자.
메모리 주소 기계어(16진수) 표현 기계어(2진수) 프로그램 16진수로 0007번지는 대
문자 ‘H’의 ASCII 값이 저
0000 51 00 07 0101 0001 0000 0000 0000 0111 장된 곳의 주소이다.
0003 51 00 08 0101 0001 0000 0000 0000 1000
0006 00 0000 0000 0007번지에 출력할 문자의
0007 48 0100 1000 ASCII 값이 저장되어 있다.
0008 69 0101 1001
zz 문자 ‘H’와 ‘i’의 ASCII 값.
바로 이전의 인스트럭션인
STOP 다음에 데이터를 선
언함으로써 CPU가 데이
터와 인스트럭션을 구분할
수 있도록 하였다.
즉, stop 인스트럭션이 프
로그램의 코드 부분과 데
이터 부분을 구분해주는
역할을 한다.