vAVRdisasm is an AVR program disassembler. The project supports all 136 AVR instructions as defined by the Atmel AVR Instruction Set, revision 0856E-AVR-11/05.
This single-pass disassembler can handle Atmel Generic, Intel HEX8, and Motorola S-Record formatted files containing valid AVR program binaries.
vAVRdisasm should work on most *nix platform, including a Cygwin environment. vAVRdisasm was written in C by Vanya A. Sergeev - vsergeev at gmail, and tested with the GNU C Compiler.
Here are some key features of "vAVRdisasm":
· Printing the instruction addresses alongside disassembly, enabled by default
· Printing of the destination comments of relative branch/jump/call instructions, enabled by default
· Ghetto Address Labels (see “Ghetto Address Labels” section)
· Formatting data constants in different bases (hexadecimal, binary, decimal)
· .DW data word directive for data not recognized as an instruction during disassembly.
What's New in This Release: [ read full changelog ]
· Changed address operand formatting for LDS, STS, JMP, and CALL instructions from byte addreses to word addresses, to make vAVRdisasm's output compatible with AVR assemblers.
· Fixed signed relative branch/jump decoding: jumps in the reverse direction are now correctly decoded.
· Thanks to Graham Carnell for the above two fixes!
· Upgraded license from GPLv2 to GPLv3.