lifting-bits / remill

Library for lifting machine code to LLVM bitcode
Apache License 2.0
1.26k stars 142 forks source link

Update Instruction.cpp to account for ARMv7 shifting into carry out #534

Closed sschriner closed 3 years ago

sschriner commented 3 years ago

Addresses the following edge case in a few places:

<amount>   For encoding A1: is the shift amount, in the range 1 to 31 (when <shift> = LSL or ROR)
           or 1 to 32 (when <shift> = LSR or ASR) encoded in the "imm5" field as <amount> modulo 32.