SBB              Subtract with Borrow                Flags: O D I T S Z A P C
                                                            *       * * * * *
SBB destination,source
 
          Logic:    destination  destination - source - CF
 
    SBB subtracts the source from the destination, subtracts 1 from that
    result if the Carry Flag is set, and stores the result in destination.
    The operands may be bytes or words, and both may be signed or unsigned
    binary numbers.
 
  --------------------------------------------------------------------------
   Operands                  Clocks   Transfers  Bytes   Example
                           byte(word)
   register, register          3          -        2     SBB DX,AX
   register, memory        9(13) + EA     1       2-4    SBB DX,FEE
   memory, register       16(24) + EA     2       2-4    SBB SIGH,SI
   accumulator, immediate      4          -       2-3    SBB AX,8
   register, immediate         4          -       3-4    SBB BH,4
   memory, immediate      17(25) + EA     2       3-6    SBB TOTAL,10
  --------------------------------------------------------------------------
 
       Notes:         SBB is useful for subtracting numbers that are
                      larger than 16 bits, since it subtracts a borrow (in
                      the carry flag) from a previous operation.
 
                      You may subtract a byte-length immediate value from
                      a destination which is a word; in this case, the
                      byte is sign-extended to 16 bits before the
                      subtraction.

Seealso:



This page last updated on Fri Nov 30 10:49:50 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster