| Previous | 15994 Revisions | Next |
| r10141 Sunday 23rd January, 2011 at 00:03:50 UTC by Tim Schuerewegen |
|---|
| ARM7: Fixed "MOV x, PC, LSL x" bug exposed by ARMwrestler. |
| [src/emu/cpu/arm7] | arm7core.c |
| r10140 | r10141 | |
|---|---|---|
| 343 | 343 | UINT32 t = (insn & INSN_OP2_SHIFT_TYPE) >> INSN_OP2_SHIFT_TYPE_SHIFT; |
| 344 | 344 | |
| 345 | 345 | if ((insn & INSN_OP2_RM) == 0xf) { |
| 346 | rm += 8; | |
| 346 | // "If a register is used to specify the shift amount the PC will be 12 bytes ahead." (instead of 8) | |
| 347 | rm += t & 1 ? 12 : 8; | |
| 347 | 348 | } |
| 348 | 349 | |
| 349 | 350 | /* All shift types ending in 1 are Rk, not #k */ |
| Previous | 15994 Revisions | Next |