power-girl0-0

[07] 기계어로 프로그래밍을 하는 경우 본문

언어/c언어

[07] 기계어로 프로그래밍을 하는 경우

power-girl0-0 2021. 1. 13. 02:16
728x90

해당 게시물은 김성엽님 유튜브 강의 내용을 포함하고 있습니다.


지식나눔으로 누구에게나 따뜻한 블로그 : 네이버 블로그

1.

명령어 표현 정리

 

 

  • CPU 내부의 레지스터의 크기는 4바이트로 지정되어 있다.
  • AX레지스터가 32bit면 AH,AL과 같은 이름을 사용하면 상위(high) 16비트, 하위(low) 16bit로 나누어 사용도 가능하다.

2.

나이와 현금을 관리하는 프로그램 만들기 → 기계어
프로그램 조건
1) 나이는 23살이고, 현금은 100,000원이 있다.
2) 메모리에 현금을 저장했다가 50,000원이 추가되도록 구성한다.
3) 해당 프로그램의 메모리 시작주소는 300번지라고 가정한다.

1) 나이는 현실적으로 255보다 적으므로 1바이트를 사용한다.

2) 현금은 65535인 2바이트보다 넘으므로 4바이트로 사용한다.

 

 


3)  나이에 23을 대입한다.
→ 대입 AX, 23
→ 대입 300, 1, AX

4) 현금에 100,000을 대입한다.
→ 대입 AX, 100000
→ 대입 301, 4, AX

5) 현재 현금에 50,000을 더한다.
→ 대입 AX, 4, 301
→ 덧셈 AX, 50000
→ 대입 301, 4, AX

 

🥵 주의 : 해당프로그램에서 이해하기 쉽게 10진수로 작성되어있다.

     ⇒ 맞는 답은 10진수가 아닌 16진수로 적어줘야 원하는 값이 들어간다!

🥵 주의 : 메모리는 리틀엔디언 형식으로 값이 들어간다.

728x90
Comments