mramos1 said:Disassemblers do exist, but good luck with that random junk.
HP, Techtronics, and Lauterbach will all be happy to know that.
The major use for disassemblers is in debugging.
Simulators, processor emulators, login analyzers with preprocessors, ROM monitors, or JTAG like connections provide run control for the debugger (run, step, breakpoints). Code is compiled with debug options that allows the debugger to track symbols and source info (elf, dwarf, coff etc). This allows high level stepping. When doing instruction level stepping the debugger uses the disassembler to convert the machine code to opcodes. Opcodes are combined with symbolic info to provide what looks like assembler output.
You can figure out if this is the case by doing a bit of self modifying code and step through it. If it shows the opcods as compiled it is using assembler output. If not the output is from a disassembler.
MPLAB>VIEW>DISASSEMBLY_LISTING
3v0
Last edited: