80 sub subtract – Texas Instruments MSP50C6xx User Manual

Page 262

Advertising
background image

Individual Instruction Descriptions

4-176

4.14.80

SUB

Subtract

Syntax

[label]

name

dest, src, src1, [next A]]

Clock, clk

Word, w

With RPT, clk

Class

SUB

An[~], An, {adrs} [, next A]

Table 4–46

Table 4–46

1a

SUB

An[~], An[~], imm16 [, next A]

2

2

N/R

2b

SUB

An[~], An[~], PH [, next A]

1

1

n

R

+3

3

SUB

An[~], An, An~ [, next A]

1

1

n

R

+3

3

SUB

An[~], An~, An [, next A]

1

1

n

R

+3

3

SUB

Rx, imm16

2

2

N/R

4c

SUB

Rx, R5

1

1

N/R

4d

Execution

[premodify AP if mod specified]
dest

destsrc1

(for two operands)

dest

srcsrc1

(for three operands)

PC

PC + w

Flags Affected

dest is An:

OF, SF, ZF, CF are set accordingly

dest is Rx:

RCF, RZF are set accordingly

src1 is {adrs}:

TAG bit is set accordingly

Opcode

Instructions

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SUB An[~], An, {adrs} [, next A]

0

0

0

0

~A

next A

An

adrs

x

dma16 (for direct) or offset16 (long relative) [see section 4.13]

SUB An[~], An[~], imm16 [, next A]

1

1

1

0

0

next A

An

0

1

0

0

0

1

A~

~A

SUB An[~], An[~], PH [, next A]

1

1

1

0

0

next A

An

0

1

1

0

0

0

A~

~A

SUB An[~], An, An~ [, next A]

1

1

1

0

0

next A

An

0

0

1

0

0

0

0

~A

SUB An[~], An~, An [, next A]

1

1

1

0

0

next A

An

0

0

1

0

0

0

1

~A

SUB Rx, imm16

1

1

1

1

1

1

1

0

0

0

0

1

Rx

0

0

SUB Rx, R5

1

1

1

1

1

1

1

0

0

1

0

1

Rx

0

0

Description

Subtract value of src from value of dest and store result in dest. If three
operands are specified, then subtract value of src1 from value of src (i.e.,
src-src1) and store result in dest string. Premodification of accumulator
pointers is allowed with some operand types. Note that subtraction is
performed in 2’s complement and therefore the CF (carry flag) may get set
even when subtracting a smaller value from a larger value.

Advertising