Fix storing SPSR
Jeffrey Pfau jeffrey@endrift.com
Thu, 18 Apr 2013 00:15:45 -0700
1 files changed,
1 insertions(+),
1 deletions(-)
jump to
M
src/arm/arm.c
→
src/arm/arm.c
@@ -122,13 +122,13 @@ instructionWidth = WORD_SIZE_THUMB;
} else { instructionWidth = WORD_SIZE_ARM; } - cpu->spsr = cpsr; ARMSetPrivilegeMode(cpu, MODE_IRQ); cpu->cpsr.priv = MODE_IRQ; cpu->gprs[ARM_LR] = cpu->gprs[ARM_PC] - instructionWidth + WORD_SIZE_ARM; cpu->gprs[ARM_PC] = BASE_IRQ + WORD_SIZE_ARM; cpu->memory->setActiveRegion(cpu->memory, cpu->gprs[ARM_PC]); _ARMSetMode(cpu, MODE_ARM); + cpu->spsr = cpsr; cpu->cpsr.i = 1; }