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 인스트럭션이 프
                                                                    로그램의 코드 부분과 데
                                                                    이터 부분을 구분해주는
                                                                    역할을 한다.
   64   65   66   67   68   69   70   71   72   73   74