mirror of https://github.com/mgba-emu/mgba.git
Have board re-read CPSR when it is modified by MSR
This commit is contained in:
parent
ef66e4a8c7
commit
8e5b806cdd
|
@ -659,7 +659,8 @@ DEFINE_INSTRUCTION_ARM(MSR,
|
|||
if (cpu->privilegeMode != MODE_USER && (mask & PSR_PRIV_MASK)) {
|
||||
ARMSetPrivilegeMode(cpu, (enum PrivilegeMode) ((operand & 0x0000000F) | 0x00000010));
|
||||
cpu->cpsr.packed = (cpu->cpsr.packed & ~PSR_PRIV_MASK) | (operand & PSR_PRIV_MASK);
|
||||
})
|
||||
}
|
||||
_ARMReadCPSR(cpu);)
|
||||
|
||||
DEFINE_INSTRUCTION_ARM(MSRR,
|
||||
int c = opcode & 0x00010000;
|
||||
|
@ -689,7 +690,8 @@ DEFINE_INSTRUCTION_ARM(MSRI,
|
|||
if (cpu->privilegeMode != MODE_USER && (mask & PSR_PRIV_MASK)) {
|
||||
ARMSetPrivilegeMode(cpu, (enum PrivilegeMode) ((operand & 0x0000000F) | 0x00000010));
|
||||
cpu->cpsr.packed = (cpu->cpsr.packed & ~PSR_PRIV_MASK) | (operand & PSR_PRIV_MASK);
|
||||
})
|
||||
}
|
||||
_ARMReadCPSR(cpu);)
|
||||
|
||||
DEFINE_INSTRUCTION_ARM(MSRRI,
|
||||
int c = opcode & 0x00010000;
|
||||
|
|
Loading…
Reference in New Issue