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’ 파일이 있다. 이 파일이 가상 머신이다. 이 파
일을 실행하자.