9 lookup instructions – Texas Instruments MSP50C6xx User Manual
Page 143
Lookup Instructions
4-57
Assembly Language Instructions
4.9
Lookup Instructions
Table lookup instructions transfer data from program memory (ROM) to data
memory or accumulators. These instructions are useful for reading permanent
ROM data into the user program for manipulation. For example, lookup tables
can store initial filter coefficients, characters for an LCD display which can be
read for display in the LCD screen, etc. There are four lookup instructions as
shown in Table 4–44. Lookup instructions always read the program memory
address from the second argument (which is accumulator or its offset). An
asterisk (*) always precedes this accumulator to indicate that this is an
address.
Table 4–44. Lookup Instructions
Instructions
Description
Data Transfer
MOV {adrs}, *An
The program memory address is stored in accumulator An. Store the contents of
this address in data memory location referred by addressing mode {adrs}.
MOV An[~], *An[~] [, next A]
The program memory address is stored in accumulator An or its offset An~. Store
the contents of this address in accumulator An or An~.
MOVS {adrs}, *An
The program memory string address is stored in accumulator An. Store the
contents of this address to the data memory string referred by the addressing
mode {adrs}. The string length is defined in STR register.
MOVS An[~], *An[~]
The program memory string address is stored in accumulator An or its offset An~.
Store the contents of this address to the accumulator string An or its offset An~.
The string length is defined in STR register.
Data Manipulation on Strings
ADDS An[~], An[~], pma16
ADD the accumulator string An or its offset An~ with the program memory string at
location pma16 and store the result to the accumulator string An or its offset An~.
The string length is defined in STR register.
ANDS An[~], An[~], pma16
Bitwise/logical AND the string An (or its offset An~) with the program memory
string at location pma16 and store the result in the accumulator string An or its
offset An~. The string length is defined in STR register.
CMPS An[~], pma16
Compare the accumulator string An (or its offset An~) with the program memory
string at location pma16 and store the result in accumulator string An or its offset
An~. The string length is defined in STR register.
SUBS An[~], An[~], pma16
Subtract accumulator string An (or its offset An~) with program memory string at
location pma16 and store the result in accumulator string An or its offset An~. The
string length is defined in STR register.
XORS An[~], An[~], pma16
Bitwise/Logical XOR the accumulator string An or its offset An~ with program
memory string at location pma16 and store the result to accumulator string An or
its offset An~. The string length is defined in STR register.