Rev. 1.50, 10/04, page 261 of 448
Operation:
MOV(long m, long n) /* MOV Rm,Rn */
{
R[n] = R[m];
PC += 2;
}
MOVBS(long m, long n) /* MOV.B Rm,@Rn */
{
Write_Byte(R[n],R[m]);
PC += 2;
}
MOVWS(long m, long n) /* MOV.W Rm,@Rn */
{
Write_Word(R[n],R[m]);
PC += 2;
}
MOVLS(long m, long n) /* MOV.L Rm,@Rn */
{
Write_Long(R[n],R[m]);
PC += 2;
}
MOVBL(long m, long n) /* MOV.B @Rm,Rn */
{
R[n] = (long)Read_Byte(R[m]);
if ((R[n]&0x80)==0) R[n] &= 0x000000FF;
else R[n] |= 0xFFFFFF00;
PC += 2;
}