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
'Assembly' 카테고리의 다른 글
8-1강 - Advanced Procedures 1 (Stack Frames) (0) | 2020.06.23 |
---|---|
7-2강 - Integer Arithmetic 2 (곱셈과 나눗셈) (0) | 2020.06.23 |
7-1강 - Integer Arithmetic 1 (shift와 rotate) (0) | 2020.06.06 |
6-3강 - Conditional Processing 3 (Conditional Structures 조건문) (0) | 2020.06.06 |
6-2강 - Conditional Processing 2 (conditional jump, loop) (0) | 2020.06.05 |