본문 바로가기

IT/어셈블리어

어셈블리어를 이용하는 간단한 계산기 프로그램(예제)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요. 이번 포스팅은 제가 학교 쉬는시간 때 틈틈이 짠 허접하지만, 프로그래밍 언어라면 한번씩 해보는 계산기 프로그램을 소개하겠습니다.



프로그램을 소개하기 앞서 Visual Studio 2008은 어셈블리어를 지원하고 그렇기에 Visual Studio 2008로 프로그램을 짯습니다.



한번 프로그램을 쭉 읽어보시고 이게 무엇을 뜻하는지 한번 생각해보세요. 






그런데 사실 저는 printf와 scanf를 어셈블리어로 다룰줄 모릅니다. ㅜㅜ   



그래서 그 부분들은 c로 대체하고 연산부분만 어셈으로 만들어봤습니다.



다 읽어보셧나요?   여기서 생소한게 있을텐데 바로 eax일것입니다.(아니면 죄송....)



그럼 설명해드리겠습니다.


eax란 레지스터중 하나를 뜻합니다.


레지스터란 또 무엇이냐.. 하면 레지스터는 CPU(중앙처리장치) 안에 속해있는 초고속 저장 공간입니다.  CPU에 속해있기 때문에 다른 메모리보다 더욱 빠르게 접근이 가능합니다.


그럼 이 레지스터의 종류들을 잠깐 훑어 봅시다.


범용 레지스터 : 많은 역활을 수행하는 레지스터로서 32bit입니다.  

ㄴEAX : 누산기 레지스터로 대부분의 입/출력이나 산술, 논리 연산을 수행하는 레지스터 입니다.

ㄴEBX : 베이스 레지스터로 주소를 지정하기 위한 레지스터입니다. 

ㄴECX : count를 다루는 레지스터입니다. 반복문같은걸 할때 획수를 지정할때 사용합니다. 


사실 이 레지스터들 말고도 많은 레지스터가 있지만, 저도 아직 EAX 레지스터밖에 사용을 못해봤기도 하고 한번에 많이 써놓으면 머리 아프실까봐 3개만 써놨습니다.



중간 고사가 5일정도 밖에 안남았기때문에 세심하게 공부를 못하고 도 상세하게 포스팅을 못하고 있네요 ㅜㅡㅜ   


중간 고사 끝나면 한번 제대로 정리해봐야되겠네요. 


잘못된 점 지적이나 덧글은 글쓴이에게 정말로 큰 힘이 됩니다.


손가락 버튼 하나씩 눌러주세요.