Texas Instruments MSP430x4xx User Manual

Page 101

Advertising
background image

Instruction Set

3-67

RISC 16−Bit CPU

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 Implementation

The borrow is treated as a .NOT. carry :

Borrow

Carry bit

Yes

0

No

1

Advertising