MOV *(0:16bit), loc16
6-156
MOV *(0:16bit), loc16 Move Value
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
MOV *(0:16bit),loc16 1111 0100 LLLL LLLL
CCCC CCCC CCCC CCCC
X Y N+2
Operands *(0:16bit) Immediate direct memory address, access low 64K range of data
space only (0x00000000 to 0x0000FFFF)
loc16 Addressing mode (see Chapter 5)
Description Move the content of the location pointed to by the “loc16” addressing
mode to the memory location specified by the ”0:16bit” constant address:
[0x0000:16bit] = [loc16];
Flags and
Modes
None
Repeat This instruction is repeatable. If the operation follows a RPT instruction,
then it will be executed N+1 times. When repeated, the “(0:16bit)”
data-memory address is post-incremented by 1 during each repetition.
Only the lower 16 bits of the address is affected.
; Copy the contents of Array1 to Array2:
; int16 Array1[N];
; int16 Array2[N]; // Located in low 64K of data space
; for(i=0; i < N; i++)
; Array2[i] = Array1[i];
Example
MOVL XAR2,#Array1 ; XAR2 = pointer to Array1
RPT #(N−1) ; Repeat next instruction N times
||MOV *(0:Array2),*XAR2++ ; Array2[i] = Array1[i],
; i++