Rev. 1.50, 10/04, page 262 of 448
MOVWL(long m, long n) /* MOV.W @Rm,Rn */
{
R[n] = (long)Read_Word(R[m]);
if ((R[n]&0x8000)==0) R[n] &= 0x0000FFFF;
else R[n] |= 0xFFFF0000;
PC += 2;
}
MOVLL(long m, long n) /* MOV.L @Rm,Rn */
}
R[n] = Read_Long(R[m]);
PC += 2;
}
MOVBM(long m, long n) /* MOV.B Rm,@-Rn */
{
Write_Byte(R[n]-1,R[m]);
R[n] -= 1;
PC += 2;
}
MOVWM(long m, long n) /* MOV.W Rm,@-Rn */
{
Write_Word(R[n]-2,R[m]);
R[n] -= 2;
PC += 2;
}
MOVLM(long m, long n) /* MOV.L Rm,@-Rn */
{
Write_Long(R[n]-4,R[m]);
R[n] -= 4;
PC += 2;
}