본문 바로가기

Assembly

7-3강 - Integer Arithmetic 3 (Exteded addition & subtraction)

4. Extended Addition and Subtraction

1) ADC

ADd with Carry

1> 형식 및 사용

ADC destination, source

- destination += (source + CF)

- 잘 응용하면 자리수를 2배로 확장한 수의 덧셈을 구현할 수 있다.

2> 예제 1

- eax에서 FFFFFFFF 2개를 더하면 1이 사라지고 carry flag로 이동한다.

- edx 또한 그냥 0을 더하면 0이어야 하는데 adc로 더해서 CF인 1이 추가로 더해진다.

- 그래서 FFFFFFFF + FFFFFFFF를 register 2개로 구현할 수 있다.

 

3> 예제 2

 

2) SBB

SuBtract with Borrow

1> 형식 및 사용

SBB destination, source

- destination -= (source + CF)

- 마찬가지로 뺄셈의 결과를 자리수 2배 확장해서 보여줄 수 있다/

 

2> 예제

EDX:EAX= 0000000100000000h - 1