|
Project Information
Links
|
transistorski@gmail.com Features- simple python code (ca. 400 lines)
- comes with its own .EXE loader, can handle segments
- disassembly output is like DEBUG.EXE's, but can be adapted to other disassembly formats easily
Limitations, requirements- dasm3.py is Unix-chauvinistic in that the shell scripts for testing are made for Unix; actual disassembly should work on Microsoft Windows, too
- for completely duplicating the tests on Unix, you need DOSBOX (http://dosbox.com) or a similar emulator for running DEBUG.EXE (you can run the tests against a pre-fab trusted file without, however)
- no support for 8087 floating point instructions (0xD8-0xDF opcodes are invalid)
- the discussion of how the code works requires basic understanding of the 8086 registers and assembly language
CreditsMichael Heyeck is the original author of dasm3.py. You can find important documentation for dasm3.py in the original author's blog posts, at http://www.mlsite.net/blog/?s=disassembler. HOWEVER, there are minor differences: - slightly modified opcode table for DEBUG.EXE compliancy
- slightly modified rendering of disassembly for DEBUG.EXE compliancy
- the demo discussed here: http://www.mlsite.net/blog/?p=60 does not accept an output filename, we dump to stdout
Using dasm3Explained in section "Demo" in the original author's article: http://www.mlsite.net/blog/?p=60 How dasm3 worksBest enjoyed in the order listed: TestsSome 8086 links for inclined parties
|