우리는 머신 코드를 실행할 것이다. 우리는 머신 코드의 예시를 볼 것이다.

스크린샷 2022-08-14 오후 9.11.13.png

이 가상의 컴퓨터에는 레지스터 a,b,c,d 4개가 들어있는 cpu와 메모리주소가 총 16개인 RAM이 있다.

스크린샷 2022-08-14 오후 9.12.53.png

스크린샷 2022-08-14 오후 9.16.18.png

그리고 이 RAM에는 8비트의 빈 데이터가 들어있다. 그리고 코드외에도 필요한 데이터를 가져오게된다. 이렇게 램안에서도 공간을 나눠서 사용한다. 코드를 저장하는 공간과 데이터를 저장하는 공간으로 나누어 사용한다.

스크린샷 2022-08-14 오후 9.16.42.png

스크린샷 2022-08-14 오후 9.17.54.png

스크린샷 2022-08-14 오후 9.22.11.png

일단 첫번째 instruction을 보자. 맨 앞의 4bit가 opcode이고 1010이 주소다. 그렇기 때문에 메모리 주소 1010의 값을 레지스터 A에 저장 한다는 뜻이다.

스크린샷 2022-08-14 오후 9.22.34.png

그리고 두 번째 instruction을 실행하고, 연이어 세 번째 instruction을 실행해서 앞의 4bit opcode를 이용해 레지스터 A와 V의 값을 더해 첫 번째 레지스터에 값을 덮어쓴다. 00과 01은 숫자이기 때문에 0번째 레지스터와 1번째 레지스터를 의미한다.

스크린샷 2022-08-14 오후 9.27.05.png

스크린샷 2022-08-14 오후 9.25.58.png

스크린샷 2022-08-14 오후 9.27.15.png

레지스터 A와 B를 더해야하는데 그래서 cpu에 내장되어있는 ALU를 이용해 더해준다. 값을 전달 받아 레지스터 A에 저장한다.

스크린샷 2022-08-14 오후 9.27.40.png