MSP430 Instructions
4-108
16-Bit MSP430X CPU
SUBC[.W]
Subtract source word with carry from destination word
SUBC.B
Subtract source byte with carry from destination byte
Syntax
SUBC
src,dst or SUBC.W
src,dst
SUBC.B
src,dst
Operation
(.not.src) + C + dst
→
dst
or dst − (src − 1) + C
→
dst
Description
The source operand is subtracted from the destination operand. This is done
by adding the 1’s complement of the carry to the destination. The
source operand is not affected, the result is written to the destination operand.
Used for 32, 48, and 64-bit operands.
Status Bits
N:
Set if result is negative (MSB = 1), reset if positive (MSB = 0)
Z:
Set if result is zero, reset otherwise
C:
Set if there is a carry from the MSB, reset otherwise
V:
Set if the subtraction of a negative source operand from a positive des-
tination operand delivers a negative result, or if the subtraction of a posi-
tive source operand from a negative destination operand delivers a
positive result, reset otherwise (no overflow).
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
A 16-bit constant 7654h is subtracted from R5 with the carry from the previous
instruction. R5.19:16 = 0
SUBC.W
#7654h,R5
; Subtract 7654h + C from R5
Example
A 48-bit number (3 words) pointed to by R5 (20-bit address) is subtracted from
a 48-bit counter in RAM, pointed to by R7. R5 points to the next 48-bit number
afterwards. The address R7 points to is in full memory range.
SUB
@R5+,0(R7)
; Subtract LSBs. R5 + 2
SUBC
@R5+,2(R7)
; Subtract MIDs with C. R5 + 2
SUBC
@R5+,4(R7)
; Subtract MSBs with C. R5 + 2
Example
Byte CNT is subtracted from the byte, R12 points to. The carry of the previous
instruction is used. The address of CNT is in lower 64 K.
SUBC.B
&CNT,0(R12)
; Subtract byte CNT from @R12
Summary of Contents for MSP430x4xx Family
Page 1: ...MSP430x4xx Family 2007 Mixed Signal Products User s Guide SLAU056G ...
Page 2: ......
Page 6: ...vi ...
Page 114: ...3 76 RISC 16 Bit CPU ...
Page 304: ...5 20 FLL Clock Module ...
Page 340: ...7 8 Supply Voltage Supervisor ...
Page 348: ...8 8 16 Bit Hardware Multiplier ...
Page 372: ...9 24 32 Bit Hardware Multiplier ...
Page 400: ...10 28 DMA Controller ...
Page 428: ...13 10 Basic Timer1 ...
Page 466: ...15 24 Timer_A ...
Page 522: ...17 30 USART Peripheral Interface UART Mode ...
Page 544: ...18 22 USART Peripheral Interface SPI Mode ...
Page 672: ...23 12 Comparator_A ...
Page 692: ...24 20 LCD Controller ...
Page 746: ...26 28 ADC12 ...