MOV DRx now loads/stores from 'dummy' DRx registers (BeOS).

This commit is contained in:
TomW 2015-05-03 14:42:34 +01:00
commit 28a2336aae
2 changed files with 5 additions and 2 deletions

View file

@ -155,6 +155,7 @@ union
#define msw CR0.w
uint32_t cr2, cr3, cr4;
uint32_t dr[8];
#define C_FLAG 0x0001
#define P_FLAG 0x0004

View file

@ -80,7 +80,7 @@ static int opMOV_r_DRx_a16(uint32_t fetchdat)
return 1;
}
fetch_ea_16(fetchdat);
regs[rm].l = 0;
regs[rm].l = dr[reg];
CLOCK_CYCLES(6);
return 0;
}
@ -93,7 +93,7 @@ static int opMOV_r_DRx_a32(uint32_t fetchdat)
return 1;
}
fetch_ea_32(fetchdat);
regs[rm].l = 0;
regs[rm].l = dr[reg];
CLOCK_CYCLES(6);
return 0;
}
@ -188,6 +188,7 @@ static int opMOV_DRx_r_a16(uint32_t fetchdat)
return 1;
}
fetch_ea_16(fetchdat);
dr[reg] = regs[rm].l;
CLOCK_CYCLES(6);
return 0;
}
@ -200,6 +201,7 @@ static int opMOV_DRx_r_a32(uint32_t fetchdat)
return 1;
}
fetch_ea_16(fetchdat);
dr[reg] = regs[rm].l;
CLOCK_CYCLES(6);
return 0;
}