diff options
Diffstat (limited to 'ARMInterpreter_Branch.cpp')
-rw-r--r-- | ARMInterpreter_Branch.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ARMInterpreter_Branch.cpp b/ARMInterpreter_Branch.cpp index 879b64f..354dad3 100644 --- a/ARMInterpreter_Branch.cpp +++ b/ARMInterpreter_Branch.cpp @@ -85,6 +85,14 @@ s32 T_BLX_REG(ARM* cpu) return C_S(2) + C_N(1); } +s32 T_B(ARM* cpu) +{ + s32 offset = (s32)((cpu->CurInstr & 0x7FF) << 21) >> 20; + cpu->JumpTo(cpu->R[15] + offset + 1); + + return C_S(2) + C_N(1); +} + s32 T_BL_LONG_1(ARM* cpu) { s32 offset = (s32)((cpu->CurInstr & 0x7FF) << 21) >> 9; |