Texas Instruments MSP430x1xx User Manual
Page 407
Instruction Set Overview
B-57
Instruction Set Description
SUBC[.W]SBB[.W]
Subtract source and borrow/.NOT. carry from destination
SUBC.B,SBB.B
Subtract source and borrow/.NOT. carry from destination
Syntax
SUBC
src,dst or
SUBC.W
src,dst
or
SBB
src,dst or
SBB.W
src,dst
SUBC.B
src,dst
or
SBB.B
src,dst
Operation
dst + .NOT.src + C –> dst
or
(dst – src – 1 + C –> dst)
Description
The source operand is subtracted from the destination operand by adding the
source operand’s 1s complement and the carry bit (C). The source operand
is not affected. The previous contents of the destination are lost.
Status Bits
N: Set if result is negative, reset if positive.
Z: Set if result is zero, reset otherwise.
C: Set if there is a carry from the MSB of the result, reset otherwise.
Set to 1 if no borrow, reset if borrow.
V: Set if an arithmetic overflow occurs, reset otherwise.
Mode Bits
OscOff, CPUOff, and GIE are not affected.
Example
Two floating point mantissas (24 bits) are subtracted.
LSBs are in R13 and R10, MSBs are in R12 and R9.
SUB.W
R13,R10 ; 16-bit part, LSBs
SUBC.B
R12,R9
; 8-bit part, MSBs
Example
The 16-bit counter pointed to by R13 is subtracted from a 16-bit counter in R10
and R11(MSD).
SUB.B
@R13+,R10
; Subtract LSDs without carry
SUBC.B
@R13,R11
; Subtract MSDs with carry
...
; resulting from the LSDs
Note:
Borrow Is Treated as a .NOT. Carry
The borrow is treated as a .NOT. carry :
Borrow
Carry bit
Yes
0
No
1