[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
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.

See Also: SUB DEC NEG AAS DAS EA Flags
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson