I'm adapting the reko decompiler to use Capstone for its disassembler, instead of rolling my own. I'm using the .NET bindings provided by Capstone.NET.
The strategy is to replace the old ARM disassembler with the Capstone disassembler and then run the old unit tests to make sure nothing broke. I'm at a point where most test are passing, but the opcode E1F322D1
, which both the old reko disassembler and ODA disassemble to:
ldrsb r2, [r3, #33]!
But, Capstone responds with:
ldrsb r2,[r3,#&221]!
I don't have other disassemblers handy, so I'm uncertain who to trust!
What's the correct disassembly?