INSTRUCTION GROUPS
MOTOROLA INSTRUCTION SET INTRODUCTION 6 - 27
6.4.5 Move Instructions
The move instructions perform data movement over the XDB and YDB or over the GDB.
Move instructions only affect the CCR bits S and L The S bit is affected if data growth is
detected when the A or B registers are moved onto the bus. The L bit is affected if limiting
is performed when reading a data ALU accumulator register. An address ALU instruction
(LUA) is also included in the following move instructions. The MOVE instruction is the par-
allel move with a data ALU no-operation (NOP).
LUA Load Updated Address
MOVE Move Data Register
MOVEC Move Control Register
MOVEM Move Program Memory
MOVEP Move Peripheral Data
Note: Due to instruction pipelining, if an AGU register (Mn, Nn, or Rn) is directly changed
with a MOVE-type instruction, the new contents may not be available for use until the sec-
ond following instruction. See the restrictions discussed in SECTION 7 - PROCESSING
STATES on page 7-10.
There are nine classifications of parallel data moves between registers and memory. Fig-
ure 6-15 shows seven parallel moves. The source of the data to be moved and the
destination are separated by a comma.
Examples of the other two classifications, XY and long (L) moves, are shown in Figure 6-
16. Example A illustrates the following steps: 1) register X0 is added to register A and the
result is placed in register A; 2) register X0 is moved to the X memory register location
pointed to by R3, and R3 is incremented; and 3) the contents of the Y memory location
pointed to by R7 is moved to the B register, and R7 is decremented.
Example B depicts the following sequence: 1) register X0 is added to register A and the
result is placed in register A; and 2) registers A and B are moved, respectively, to the loca-
Figure 6-14 Nested DO Loops
DO #n1,END1
:
DO #n2,END2
:
:
MOVE A,X:(R0)+
END2 ADD A,B X:(R1)+,X0
END1