diff --git a/src/isa-thumb.c b/src/isa-thumb.c index 52262972c..c13c92a97 100644 --- a/src/isa-thumb.c +++ b/src/isa-thumb.c @@ -344,8 +344,8 @@ DEFINE_INSTRUCTION_THUMB(ILL, ARM_STUB) DEFINE_INSTRUCTION_THUMB(BKPT, ARM_STUB) DEFINE_INSTRUCTION_THUMB(B, ARM_STUB) DEFINE_INSTRUCTION_THUMB(BL1, \ - int16_t immediate = (opcode & 0x07FF) << 7; \ - cpu->gprs[ARM_LR] = cpu->gprs[ARM_PC] + (((int32_t) immediate) << 5);) + int16_t immediate = (opcode & 0x07FF) << 5; \ + cpu->gprs[ARM_LR] = cpu->gprs[ARM_PC] + (((int32_t) immediate) << 7);) DEFINE_INSTRUCTION_THUMB(BL2, \ uint16_t immediate = (opcode & 0x07FF) << 1; \