본문 바로가기
System_Security

03. 어셈블리 사칙연산

by Jnamelight 2017. 7. 19.

사칙연산


C 언어에서도 사칙연산이 존재 하듯이.. 어셈블리 언어에도 존재한다 ( 기계어 )


1. 사칙연산 : + , - , * ,/


1). add




2). sub







3). mul(unsigned), imul(signed) // imul 은 연산자가 1~3개



위의 add , sub 은 사용하기가 쉬웠다

하지만 mul, div 는 사용하는 레지스트가 따로 있기 때문에 메뉴얼을 보고 사용해야 한다.



eax 에 곱해질 값, ebx (범용레지스트) 에 곱할값을 넣고 사용






4). div(unsigned), idiv(signed)


나누기 역시 똑같이 사용하는 레지스트를 사용해야한다.


eax와 edx에 사용되는 레지스트이다.

중요한 것은 초기화를 해줘야한다. eax 를 위에서 사용해주어서.. 

쓰레기값이 들어갔을 수도 있으니


cdq 명령어를 통해서 초기화를 해주자.






'System_Security' 카테고리의 다른 글

06. 프로세스 메모리 구조  (0) 2017.07.26
05. 분기문,반복문  (0) 2017.07.24
04. 비트연산자 & 형변환  (0) 2017.07.20
02. 레지스트 개념  (0) 2017.07.15
01. 프로그램의 개념  (0) 2017.07.14

댓글