81 subs subtract accumulataor string – Texas Instruments MSP50C614 User Manual

Page 269

Advertising
background image

Individual Instruction Descriptions

4-177

Assembly Language Instructions

4.14.81

SUBS

Subtract Accumulataor String

Syntax

[label]

name

dest, src, src1

Clock,

clk

Word,

w

With RPT,

clk

Class

SUBS

A

n[~], An, {adrs}

Table 4–46

Table 4–46

1a

SUBS

A

n[~], An[~], pma16

n

s

+4

2

N/R

32b

SUBS

A

n[~], An, An~

n

s

+2

1

n

R

+2

3

SUBS

A

n[~], An~, An

n

s

+2

1

n

R

+2

3

SUBS

A

n[~], An[~], PH

1

1

1

3

† This instruction ignores the string count, executing only once but maintains the CF and ZF status of the previous multi-

ply or shift operation as if the sequence was a single string. This instruction should immediately follow one of the fol-
lowing class 1b instructions: MOVAPH, MULAPL, MULSPL, SHLTPL, SHLSPL, and SHLAPL. An interrupt can occur
between one of these instructions and this instruction. An interrupt may cause an incorrect result. Also, single stepping
is not allowed for this instruction. A

n in this instruction should be the same as An in one of the listed class 1b instruc-

tion. Offsets are allowed. See Section 4.8 for detail.

Execution

[premodify AP if

mod specified]

dest

dest – src

(for two operands)

dest

src – src1

(for three operands)

PC

PC +

w

Flags Affected

dest is An:

OF, SF, ZF, CF 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

SUBS A

n[~], An, {adrs}

0

0

0

1

~A

1

1

A

n

adrs

x

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

SUBS A

n[~], An[~], pma16

1

1

1

0

0

1

1

A

n

0

1

0

0

1

1

A~

~A

SUBS A

n[~], An, An~

1

1

1

0

0

1

1

A

n

0

0

1

0

0

0

0

~A

SUBS A

n[~], An~, An

1

1

1

0

0

1

1

A

n

0

0

1

0

0

0

1

~A

SUBS A

n[~], An[~], PH

1

1

1

0

0

1

1

A

n

0

1

1

0

0

0

A~

~A

Description

Subtract the value of the

src string from value of the dest string and store the

result in the

dest string. If three operands are specified, then subtract value of

src1 string from value of src string (i.e., src–src1) and store result in dest string.
Note that, substraction is performed in 2’s complement and therefore the CF
(carry flag) may get set even when subtracting a smaller value from a large
value.

Advertising