From: Torsten S. <tsa...@gm...> - 2012-01-10 22:01:26
|
Hello Marcin, This is what I get from avra: duemilanove.hex: [exec] AVRA: advanced AVR macro assembler Version 1.3.0 Build 1 (8 May 2010) [exec] Copyright (C) 1998-2010. Check out README file for more info [exec] [exec] AVRA is an open source assembler for Atmel AVR microcontroller family [exec] It can be used as a replacement of 'AVRASM32.EXE' the original assembler [exec] shipped with AVR Studio. We do not guarantee full compatibility for avra. [exec] [exec] AVRA comes with NO WARRANTY, to the extent permitted by law. [exec] You may redistribute copies of avra under the terms [exec] of the GNU General Public License. [exec] For more information about these matters, see the files named COPYING. [exec] [exec] Pass 1... [exec] Pass 2... [exec] done [exec] [exec] [exec] Assembly complete with no errors. [exec] Segment usage: [exec] Code : 4927 words (9854 bytes) [exec] Data : 219 bytes [exec] EEPROM : 80 bytes I built avra from git sources fetched 3 Dez 17:13. The first difference in the code is from this macro (.lst files): avra: .set pc_ = pc .org $0000 C:000000 + jmp_ PFA_COLD .ifdef PFA_COLD .if (PFA_COLD-pc > 2040) || (pc-PFA_COLD>2040) C:000000 c6b7 rjmp PFA_COLD .endif avrasm2: .set pc_ = pc .org $0000 000000 940c 06b8 jmp_ PFA_COLD .org pc_ the second: avra: PFA_INTTRAP: C:00007b 9380 0060 sts intcur, tosl C:00007d + loadtos C:00007d 9189 ld tosl, Y+ C:00007e 9199 ld tosh, Y+ C:00007f 9468 set ; set the interrupt flag for the inner interpreter C:000080 + jmp_ DO_NEXT avrasm2: PFA_INTTRAP: 00007b 9380 0100 sts intcur, tosl 00007d 9189 00007e 9199 loadtos 00007f 9468 set ; set the interrupt flag for the inner interpreter 000080 940c 380e jmp_ DO_NEXT The first is a different interpretation of the macro but I have no idea how intcur: .byte 1 is assembled differently. Cheers, Torsten |