Texas Instruments MSP50C6xx Calculator User Manual


 
Individual Instruction Descriptions
4-78
4.14.3 ADDS Add String
Syntax
[label] name dest, src, src1 Clock, clk Words, w With RPT, clk Class
ADDS An[~], An, {adrs} Table 446 Table 446 Table 446 1a
ADDS An[~], An[~], pma16 n
S
+4 2 N/R 2b
ADDS An[~], An~, An n
S
+2 1 n
R
+2 3
ADDS
An[~], 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 should
not occur between one of these instructions and ADDS. An interrupt may cause incorrect results. Interrupts must be
explicitly disabled at least one instruction before the class 1b instruction. This special sequence is protected inside
a BEGLOOP ENDLOOP construct. In addition, single stepping is not allowed for this instruction. An in this instruc-
tion should be the same as An in one of the listed class 1b instruction. Offsets are allowed. See Section 4.8 for more
detail.
Execution dest string src string + src1 string
PC PC + w
Flags Affected dest is An: OF, SF, ZF, CF are set accordingly
src1 is {adrs}: TAG is set accordingly
Opcode
Instructions 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDS An[~], An, {adrs}
0 0 0 0 ~A 1 1 An adrs
x dma16 (for direct) or offset16 (long relative) [see section 4.13]
ADDS An[~], An[~], pma16
1 1 1 0 0 1 1 An 0 0 0 0 0 1 A~ ~A
x pma16
ADDS An[~], An~, An 1 1 1 0 0 1 1 An 0 0 1 0 1 0 A~ ~A
ADDS An[~], An[~], PH 1 1 1 0 0 1 1 An 0 1 1 0 1 0 A~ ~A
Description Add value of src string to the value of src1 string and store resulting string in
dest. String length minus two should be stored in STR before execution.
See Also ADD, ADDB, SUB, SUBB, SUBS
Example 4.14.3.1 ADDS A0, A0~, *R2
Add data memory string beginning at address in R2 to accumulator string A0~, put result in accumulator
string A0.
Example 4.14.3.2 ADDS A0, A0~, 0x1400
Add program memory string beginning at address 0x1400 to accumulator string A0~, put result in
accumulator string A0.