vAVRdisasm Changelog

What's new in vAVRdisasm 2.0

Sep 26, 2011
  • 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.

New in vAVRdisasm 1.8 (Jan 27, 2011)

  • Address decoding was fixed for LDS, STS, JMP, and CALL instructions.
  • A modification in the previous release where addresses were doubled because disassembly is byte indexed was reversed.
  • Support for XCH, LAS, LAC, and LAT instructions was added, bringing the disassembler up to date with AVR Instruction Set revision 0856I - 07/10.

New in vAVRdisasm 1.6 (Feb 5, 2010)

  • Fixed the number-of-operands field for the SPM instruction. This bug was causing vAVRdisasm to crash as it was attempting to format a non-existing operand during disassembly.
  • Updated the README.

New in vAVRdisasm 1.5 (Oct 9, 2009)

  • Support was added for DES, SPM #2, LDS (16-bit), and STS (16-bit) instructions, bringing the disassembler to support the AVR instruction set up to revision 0856H - 04/09.
  • Source files were renamed to make more sense and for better organization of code.

New in vAVRdisasm 1.4 (Jun 28, 2009)

  • file_disasm.c, libGIS: Fixed handling of newlines (sometimes found at the end of program files) so an “invalid record” error doesn’t appear when a newline is read.
  • file_disasm.c: CRITICAL FIX: Fixed reading and disassembly of odd byte length records in Intel Hex and Motorola S-Record files. Special thanks to Ahmed for discovery and patch!

New in vAVRdisasm 1.3 (Jan 9, 2009)

  • This release corrects a few minor bugs and one critical bug: the calculation of the absolute address, which is used in certain instructions (like absolute jump).
  • Previous versions showed absolute addresses that were not multiplied by two (to account for the 16-bit instruction size), and therefore did not display the correct absolute address. This has been fixed.