Patch for libdasm-1.5
While working on DynaTrex, I found a small but problematic bug in libdasm-1.5 when parsing some floating point instructions. One of the floating point opcode tables was missing 4 null entries in the middle. This resulted in some incorrect parsing for those instructions following the omission (about 32 opcode encodings). I generated a patch and sent it off to the maintainer, but in case this library isn’t maintained any longer I’m posting the patch here. For verification, try disassembling FRNDINT (0xd9 0xfc).
Libdasm is now being hosted and maintained on googlecode http://code.google.com/p/libdasm/ . There was a patch for some missing FPU opcodes earlier in the year. The code has also had some other fixes including other missing opcodes, and incorrect modes for opcodes that I submitted myself.
Silvio Cesare
September 30, 2009 at 7:07 pm
Funnily enough, I’ve discovered the same thing just a month later myself: http://blog.oxff.net/2009/04/libasm-d9h-fpu-instructions-fix.html
Georg Wicherski
October 1, 2009 at 12:59 am