Rev. 1.50, 10/04, page 281 of 448
10.1.39 MOVUA (Move Unaligned): Data Transfer Instruction
Format Operation Instruction Code Cycle T Bit
MOVUA.L @Rm,R0 (Rm) → R0
Load non-boundary-aligned
data
0100nnnn10101001 2 —
MOVUA.L @Rm+,R0 (Rm) → R0, Rm + 4 → Rm
Load non-boundary-aligned
data
0100nnnn11101001 2 —
Description: This instruction loads the longword of data from the effective address indicated by
the contents of Rm in memory to R0. The address is not restricted to longword boundaries address
(4n); this instruction allows loading from non-longword-boundary addresses (4n + 1, 4n + 2, and
4n + 3). Data address error exceptions do not occur when access is to non-longword-boundary
addresses (4n + 1, 4n + 2, and 4n + 3).
Notes: None
Operation:
MOVUAL(int m) /* MOVUA.L Rm,R0*/
{
Read_Unaligned_Long(R0,R[m]);
PC += 2;
}
MOVUALP(int m) /* MOVUA.L Rm+,R0*/
{
Read_Unaligned_Long(R0,R[m]);
if(m != 0) R[m] += 4;
PC += 2;
}