T_INVALID type misapplied to instruction
djpnewton opened this issue · 2 comments
djpnewton commented
In the following example type is T_INVLD (also I think "Rn=PC" should be present but it is not):
>>> darm.disasm_thumb2(0xf8df8058)
Darm(instr=I_LDR, instr_type=T_INVLD, cond=C_AL, Rt=r8, U=True, I=True, rotate=0, imm=88)
some context for the instruction from objdump:
0001e524 <fwrite>:
1e524: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
1e528: 461f mov r7, r3
1e52a: fb01 f602 mul.w r6, r1, r2
1e52e: f8df 8058 ldr.w r8, [pc, #88] ; 1e588 <fwrite+0x64>
djpnewton commented
Ok looking through the code all thumb2 instructions are set to T_INVALID...
jbremer commented
Hi. Yes, the T_ values were never really to be used externally. A lot of them were mostly for internal handling and didn't actually represent the instruction in any way.
I'm about to release a complete rewrite of darm which is much better in various ways ;) so if you can stay tuned for a bit longer.. :)