وو

وحید آنلاین . آرشیو وبلاگ وحیدمی دات آی آر . شرکت بیان. vahidmy.blog.ir

وو

وحید آنلاین . آرشیو وبلاگ وحیدمی دات آی آر . شرکت بیان. vahidmy.blog.ir

SBB

SBB 

Usage:  SBB     dest,src                            Modifies flags: AF CF OF PF SF ZF

Subtracts the source from the destination, and subtracts 1 extra if the Carry Flag is set.   Results are returned in 'dest'.

Subtract with Borrow



SBB r/m8,reg8                 ; 18 /r                [8086]

SBB r/m16,reg16               ; o16 19 /r            [8086]

SBB r/m32,reg32               ; o32 19 /r            [386]


SBB reg8,r/m8                 ; 1A /r                [8086]

SBB reg16,r/m16               ; o16 1B /r            [8086]

SBB reg32,r/m32               ; o32 1B /r            [386]


SBB r/m8,imm8                 ; 80 /3 ib             [8086]

SBB r/m16,imm16               ; o16 81 /3 iw         [8086]

SBB r/m32,imm32               ; o32 81 /3 id         [386]


SBB r/m16,imm8                ; o16 83 /3 ib         [8086]

SBB r/m32,imm8                ; o32 83 /3 ib         [386]


SBB AL,imm8                   ; 1C ib                [8086]

SBB AX,imm16                  ; o16 1D iw            [8086]

SBB EAX,imm32                 ; o32 1D id            [386]


SBB performs integer subtraction: it subtracts its second operand, plus the value of the carry flag, from its first, and leaves the result in its destination (first) operand. The flags are set according to the result of the operation: in particular, the carry flag is affected and can be used by a subsequent SBB  instruction.


To subtract one number from another without also subtracting the contents of the carry flag, use SUB.


EXAMPLE:

mov eax 0f

mov ebx 0a

stc

sbb eax ebx ;eax = 4

SBB