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
Содержание MSP430x4xx Family
Страница 1: ...MSP430x4xx Family 2007 Mixed Signal Products User s Guide SLAU056G ...
Страница 2: ......
Страница 6: ...vi ...
Страница 114: ...3 76 RISC 16 Bit CPU ...
Страница 304: ...5 20 FLL Clock Module ...
Страница 340: ...7 8 Supply Voltage Supervisor ...
Страница 348: ...8 8 16 Bit Hardware Multiplier ...
Страница 372: ...9 24 32 Bit Hardware Multiplier ...
Страница 400: ...10 28 DMA Controller ...
Страница 428: ...13 10 Basic Timer1 ...
Страница 466: ...15 24 Timer_A ...
Страница 522: ...17 30 USART Peripheral Interface UART Mode ...
Страница 544: ...18 22 USART Peripheral Interface SPI Mode ...
Страница 672: ...23 12 Comparator_A ...
Страница 692: ...24 20 LCD Controller ...
Страница 746: ...26 28 ADC12 ...