Rev. 1.50, 10/04, page 270 of 448
MOVWLG(int d) /* MOV.W @(disp,GBR),R0 */
{
unsigned int disp;
disp = (unsigned int)(0x000000FF & d);
R[0] = (int)Read_Word(GBR+(disp<<1));
if ((R[0]&0x8000)==0) R[0] &= 0x0000FFFF;
else R[0] |= 0xFFFF0000;
PC += 2;
}
MOVLLG(int d) /* MOV.L @(disp,GBR),R0 */
{
unsigned int disp;
disp = (unsigned int)(0x000000FF & d);
R[0] = Read_Long(GBR+(disp<<2));
PC += 2;
}
MOVBSG(int d) /* MOV.B R0,@(disp,GBR) */
{
unsigned int disp;
disp = (unsigned int)(0x000000FF & d);
Write_Byte(GBR+disp,R[0]);
PC += 2;
}