diff --git a/src/crab/gba/arm/branch_exchange.cr b/src/crab/gba/arm/branch_exchange.cr index f68d410..f12ff54 100644 --- a/src/crab/gba/arm/branch_exchange.cr +++ b/src/crab/gba/arm/branch_exchange.cr @@ -1,13 +1,9 @@ module GBA module ARM def arm_branch_exchange(instr : Word) : Nil - rn = bits(instr, 0..3) - if bit?(@r[rn], 0) - @cpsr.thumb = true - set_reg(15, @r[rn]) - else - set_reg(15, @r[rn]) - end + address = @r[bits(instr, 0..3)] + @cpsr.thumb = bit?(address, 0) + set_reg(15, address) end end end