Texas Instruments MSP50C614 Stereo System User Manual


 
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
[~], A
n
, {
adrs
} Table 4–46 Table 4–46 1a
SUBS A
n
[~], A
n
[~],
pma16
n
s
+4 2 N/R 32b
SUBS A
n
[~], A
n
, A
n
~ n
s
+2 1 n
R
+2 3
SUBS A
n
[~], A
n
~, A
n
n
s
+2 1 n
R
+2 3
SUBS
A
n
[~], A
n
[~], 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 A
n
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 A
n
: 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
[~], A
n
, {
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
[~], A
n
[~],
pma16
1 1 1 0 0 1 1 A
n
0 1 0 0 1 1 A~ ~A
SUBS A
n
[~], A
n
, A
n
~ 1 1 1 0 0 1 1 A
n
0 0 1 0 0 0 0 ~A
SUBS A
n
[~], A
n
~, A
n
1 1 1 0 0 1 1 A
n
0 0 1 0 0 0 1 ~A
SUBS A
n
[~], A
n
[~], 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.