diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/target/arm_disassembler.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/target/arm_disassembler.c b/src/target/arm_disassembler.c index 6c90bd7e..2af07c4e 100644 --- a/src/target/arm_disassembler.c +++ b/src/target/arm_disassembler.c @@ -3523,8 +3523,6 @@ static int t2ev_load_halfword(uint32_t opcode, uint32_t address, if ((opcode & (1 << 23)) == 0) { if (rn == 0xf) { ldrh_literal: - if (rt == 0xf) - return ERROR_INVALID_ARGUMENTS; immed = opcode & 0xfff; address = thumb_alignpc4(address); if (opcode & (1 << 23)) @@ -3535,8 +3533,6 @@ ldrh_literal: sign, rt, address); return ERROR_OK; } - if (rt == 0xf) - return ERROR_INVALID_ARGUMENTS; if (op2 == 0) { int rm = opcode & 0xf; @@ -3574,12 +3570,11 @@ ldrh_literal: } else { if (rn == 0xf) goto ldrh_literal; - if (rt != 0x0f) { - immed = opcode & 0xfff; - sprintf(cp, "LDR%sH.W\tr%d, [r%d, #%d]\t; %#6.6x", - sign, rt, rn, immed, immed); - return ERROR_OK; - } + + immed = opcode & 0xfff; + sprintf(cp, "LDR%sH.W\tr%d, [r%d, #%d]\t; %#6.6x", + sign, rt, rn, immed, immed); + return ERROR_OK; } return ERROR_INVALID_ARGUMENTS; |