Open chiffreKing opened 4 months ago
They work in the next
branch:
$ ./cstool -d thumb 11f8013b
0 11 f8 01 3b ldrb r3, [r1], #1
ID: 23 (ldrb)
op_count: 2
operands[0].type: REG = r3
operands[0].access: WRITE
operands[1].type: MEM
operands[1].mem.base: REG = r1
operands[1].mem.scale: 0
operands[1].mem.disp: 0x1
operands[1].access: READ
Write-back: True
Post index: True
Registers read: r1
Registers modified: r1 r3
Groups: IsThumb2
$ ./cstool -d thumb 11f8013b
0 11 f8 01 3b ldrb r3, [r1], #1
ID: 23 (ldrb)
op_count: 2
operands[0].type: REG = r3
operands[0].access: WRITE
operands[1].type: MEM
operands[1].mem.base: REG = r1
operands[1].mem.scale: 0
operands[1].mem.disp: 0x1
operands[1].access: READ
Write-back: True
Post index: True
Registers read: r1
Registers modified: r1 r3
Groups: IsThumb2
I would advice you to use it. It contains way more precise disassembly and also supports the newly added processor extensions.
@chiffreKing Can you provide me with a list of instructions which have the incorrect access flags?
I would fix them manually and they can be part of the v5.0.2
release. If you don't have a list, I would only fix the two you mention.
Because investigating which instructions are all broken in v5
takes way too long. And we have the better next branch.
There are different instructions where the access details of memory operands is incorrect interpreted:
As you can see in both cases the access type for both memory operations is missing. Using capstone v5.0.1