mirror of https://github.com/mgba-emu/mgba.git
Implement SWI
This commit is contained in:
parent
6c44cf8dfc
commit
2e78381e55
|
@ -663,7 +663,7 @@ DEFINE_INSTRUCTION_ARM(MSRRI,
|
||||||
mask &= PSR_USER_MASK | PSR_PRIV_MASK | PSR_STATE_MASK;
|
mask &= PSR_USER_MASK | PSR_PRIV_MASK | PSR_STATE_MASK;
|
||||||
cpu->spsr.packed = (cpu->spsr.packed & ~mask) | (operand & mask);)
|
cpu->spsr.packed = (cpu->spsr.packed & ~mask) | (operand & mask);)
|
||||||
|
|
||||||
DEFINE_INSTRUCTION_ARM(SWI, ARM_STUB)
|
DEFINE_INSTRUCTION_ARM(SWI, cpu->board->swi32(cpu->board, opcode & 0xFFFFFF))
|
||||||
|
|
||||||
#define DECLARE_INSTRUCTION_ARM(EMITTER, NAME) \
|
#define DECLARE_INSTRUCTION_ARM(EMITTER, NAME) \
|
||||||
EMITTER ## NAME
|
EMITTER ## NAME
|
||||||
|
|
|
@ -134,7 +134,7 @@ void GBASwi16(struct ARMBoard* board, int immediate) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void GBASwi32(struct ARMBoard* board, int immediate) {
|
void GBASwi32(struct ARMBoard* board, int immediate) {
|
||||||
GBASwi32(board, immediate >> 16);
|
GBASwi16(board, immediate >> 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _unLz77(struct GBAMemory* memory, uint32_t source, uint8_t* dest) {
|
static void _unLz77(struct GBAMemory* memory, uint32_t source, uint8_t* dest) {
|
||||||
|
|
Loading…
Reference in New Issue