Instruction Set Description
202
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.2.42 SBC
* SBC[.W]
Subtract borrow (.NOT. carry) from destination
* SBC.B
Subtract borrow (.NOT. carry) from destination
Syntax
SBC dst
or
SBC.W dst
SBC.B dst
Operation
dst + C
→
dst
dst + 0FFh + C
→
dst
Emulation
SUBC #0,dst
SUBC.B #0,dst
Description
The carry bit (C) is added to the destination operand minus 1. 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
The 16-bit counter pointed to by R13 is subtracted from a 32-bit counter pointed to by
R12.
SUB
@R13,0(R12)
; Subtract LSDs
SBC
2(R12)
; Subtract carry from MSD
Example
The 8-bit counter pointed to by R13 is subtracted from a 16-bit counter pointed to by
R12.
SUB.B
@R13,0(R12)
; Subtract LSDs
SBC.B
1(R12)
; Subtract carry from MSD
NOTE:
Borrow implementation
The borrow is treated as a .NOT. carry:
Borrow
Carry Bit
Yes
0
No
1