PicNick - tolle Arbeit !!
Habe auch mal die Disassambler-Outputs zwischen avr_dis.eXE und DisAVR.eXE verglichen. Das hornalte AVR-Tool kennt nicht mal den vollen Atmega-Befehlssatz und sagt immer NOP.
Hier ein Code-Schnipsel (Atmega169):
AVR-Studio:
avr_dis.eXE (Picnicks Hexhacker)Code:+00000126: 3007 CPI R16,0x07 +00000127: F410 BRCC PC+0x03 +00000128: 940C0134 JMP 0x00000134 +0000012A: 91800124 LDS R24,0x0124und jetzt kommt Schrott: DisAVR.eXECode:CPI r16,0x07 BRCC L_0x0254 JMP L_0x0268 L_0x0254: LDS r24,0x0124Code:cpi r16, 0x07 ; 0126 3007 brsh AVR012A ; 0127 F410 ; 0128 940C nop ; 0129 0134 AVR012A: lds r24, 0x0124 ; 012A 9180 0124Wäre nicht ein AfterBurner für den AVR-Studio-Ausgabefile einfacher zu programmieren? Immerhin steckt da alles schon drin - es fehlen nur die Labels!An einem brauchbaren Source-Bezug bin ich noch am Arbeiten.
Beispiel:
Code:265: If Len(lcd_textbuffer) >= 7 Then +00000125: 2F08 MOV R16,R24 Copy register +00000126: 3007 CPI R16,0x07 Compare with immediate 265: If Len(lcd_textbuffer) >= 7 Then +00000127: F410 BRCC PC+0x03 Branch if carry cleared +00000128: 940C0134 JMP 0x00000134 Jump 266: Lcd_scrollmode = 1 'Scroll If Text Is Longer Than Display Size +0000012A: 91800124 LDS R24,0x0124 Load direct from data space







Zitieren

Lesezeichen