汇编-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

 

 

 

 

 

 

 

posted @ 2023-12-26 07:24  天子骄龙  阅读(212)  评论(0)    收藏  举报