[<<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