Page 61 - 컴퓨터구조(프로그래밍 관점에서 바라보는)도서 미리보기
P. 61

273CHAPTER 7? 기계어 프로그래밍을 통한 컴퓨터 구조 이해

7.2.1? 고급 언어의 명령문의 기본적 구조

아래의 a = a + 1; 명령문은 변수 a의 값을 1 증가 시키려고 한다. 이 명령
어는 연산자와 피연산자들로 이루어져 있다. 실제로 고급 언어의 이 명령
어가 컴퓨터에서 실행되려면, 컴파일 과정에서 변환된 기계어는 아마도 아
래 우측과 같을 것이다. 즉, 고급 언어 한 문장은 기계어 여러 문장으로 변
환되어서 실행된다.

                  Load register   from  main_memory  메인 메모리에 있는 변수
                  Add +1           to   register     a 값을 CPU의 레지스터로
                  Store register    to  main_memory  가져옴(load)

고급 언어의 연산자와 피연산자  고급 언어의 기계어 레벨에서의 동작 예시             해당 레지스터에 1을 더하
                                                     기(add)

                                                     레지스터의 값을 메인 메
                                                     모리로 저장(store)

지금부터 기계어와 어셈블리어를 배우려는 목표가 바로 이것이다. 고급 언
어로 작성한 프로그램이 어떻게 기계어로 변환되어 실행될지 어느 정도의
감을 잡는 것이 목표다.

7.2.2? 기계어

이제부터 Pep/8 상에서 기계어 프로그래밍을 시작하자. 다운 받은 가상 머
신의 압축을 풀면 ‘pep8.exe’ 파일이 있다. 이 파일이 가상 머신이다. 이 파
일을 실행하자.
   56   57   58   59   60   61   62   63   64   65   66