79 sub subtract – Texas Instruments MSP50C614 User Manual
Page 266
Individual Instruction Descriptions
4-174
4.14.79
SUB
Subtract
Syntax
[label]
name
dest, src, src1, [next A]]
Clock,
clk
Word,
w
With RPT,
clk
Class
SUB
A
n[~], An, {adrs} [, next A]
Table 4–46
Table 4–46
1a
SUB
A
n[~], An[~], imm16 [, next A]
2
2
N/R
2b
SUB
A
n[~], An[~], PH [, next A]
1
1
n
R
+3
3
SUB
A
n[~], An, An~ [, next A]
1
1
n
R
+3
3
SUB
A
n[~], An~, An [, next A]
1
1
n
R
+3
3
SUB
R
x, imm16
2
2
N/R
4c
SUB
R
x, R5
1
1
N/R
4d
Execution
[premodify AP if
mod specified]
dest
⇐
dest – src1
(for two operands)
dest
⇐
src – src1
(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 A
n[~], An, {adrs} [, next A]
0
0
0
0
~A
next A
A
n
adrs
x
dma16 (for direct) or offset16 (long relative) [see section 4.13]
SUB A
n[~], An[~], imm16 [, next A]
1
1
1
0
0
next A
A
n
0
1
0
0
0
1
A~
~A
SUB A
n[~], An[~], PH [, next A]
1
1
1
0
0
next A
A
n
0
1
1
0
0
0
A~
~A
SUB A
n[~], An, An~ [, next A]
1
1
1
0
0
next A
A
n
0
0
1
0
0
0
0
~A
SUB A
n[~], An~, An [, next A]
1
1
1
0
0
next A
A
n
0
0
1
0
0
0
1
~A
SUB R
x, imm16
1
1
1
1
1
1
1
0
0
0
0
1
R
x
0
0
SUB R
x, R5
1
1
1
1
1
1
1
0
0
1
0
1
R
x
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.