汇编-SBB带借位减法
SBB(带借位减法) 指令从目的操作数中减去源操作数和进位标志的值。可使用的操作数与ADC指令相同。
下面的示例代码用32位操作数实现64位减法。设置EDX:EAX的值为0000000700000001h,并从该值中减去2。低32位先执行减法,并将进位标志置位,然后高32位再进行减法,包括减去进位标志:
.386 .model flat,stdcall option casemap:none .stack 4096 Include Irvine32.inc includelib Irvine32.lib ExitProcess PROTO,dwExitCode:DWORD .data .code main PROC mov edx,7 ;高位部分 mov eax,1 ;低位部分 sub eax,2 ;低位部分-2 sbb edx,0 ;edx=edx-0-CF quit: mov eax,[esi] INVOKE ExitProcess,0 main ENDP END main