The instruction: LPM Rx,Z is dissasembled as: LPM Rx,Z+ I found this while inspecting code for an ATtiny2313: 714: 24 91 lpm r18, Z+ The op-code 0x9124 should be "LPM R18,Z". Wrong post-increment addressing.
CVSROOT: /cvs/src Module name: src Changes by: nickc@sourceware.org 2011-07-01 16:11:27 Modified files: opcodes : ChangeLog arm-dis.c avr-dis.c include/opcode : ChangeLog avr.h Log message: PR binutils/12329 * avr-dis.c (avr_operand): Fix disassembly of ELPM, LPM and SPM insns using post-increment addressing. * avr.h (AVR_ISA_AVR6): Fix typo, adding AVR_ISA_SPMX. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/ChangeLog.diff?cvsroot=src&r1=1.1740&r2=1.1741 http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/arm-dis.c.diff?cvsroot=src&r1=1.146&r2=1.147 http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/avr-dis.c.diff?cvsroot=src&r1=1.23&r2=1.24 http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/opcode/ChangeLog.diff?cvsroot=src&r1=1.441&r2=1.442 http://sourceware.org/cgi-bin/cvsweb.cgi/src/include/opcode/avr.h.diff?cvsroot=src&r1=1.16&r2=1.17
Hi Jesús, Thanks for reporting this problem. I have checked in a patch to fix the disassembly of the LPM instruction, and incidentally the ELPM and SPM instructions which had the same problem. Cheers Nick