Fix storing SPSR

This commit is contained in:
Jeffrey Pfau 2013-04-18 00:15:45 -07:00
parent 062e09ccf5
commit ed48ab1c64
1 changed files with 1 additions and 1 deletions

View File

@ -122,13 +122,13 @@ void ARMRaiseIRQ(struct ARMCore* cpu) {
} 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;
}