Hallo zusammen!
Ich hatte ja kürzlich schonmal wegen eines merkwürdigen Fehlers beim Arbeiten mit dem AVR-GCC gemeldet. Inzwischen habe ich mal ein Assembler-File erzeugt. Hier das Ergebnis:
-mmcu=atmega128 -c -o main.o main.c C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s: Assembler messages: C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:57111: Error: value of
66144 too large for field of 2 bytes at 16 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64866: Error: value of 65692 too large for field of 2 bytes at 9941 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64884: Error: value of 65692 too large for field of 2 bytes at 9961 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64886: Error: value of 65718 too large for field of 2 bytes at 9963 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64907: Error: value of 65718 too large for field of 2 bytes at 9988 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64909: Error: value of 65720 too large for field of 2 bytes at 9990 C:\DOKUME~1\ost_dri\LOCALS~1\Temp/ccq4aaaa.s:64966: Error: value of 65720 too large for field of 2 bytes at 10065Assembler-File ab Zeile 64881:
.byte 0x6 .byte 0xdb .byte 0x1 .word .LFB136
.word .LFE136
.byte 0x8 .byte 0x90 .uleb128 0x20 .byte 0x93 .uleb128 0x1 .byte 0x90 .uleb128 0x21 .byte 0x93 .uleb128 0x1
Das sieht für mich nach der Definition von Konstanten aus. Das eigentliche Programm scheint schon bei Zeite 35.xxx zu Ende zu sein?
Ich verstehe nur nicht, wie die Werte in den Konstanten zu groß werden können, wenn die Menüstruktur im Hauptprogramm länger wird?!
Gruß Thorsten .uleb128 0x16 .long 10047
.byte 0x1 .long .LASF147
.byte 0x6 .word 274
.byte 0x1 .word .LFB137
.word .LFE137