Zitat Zitat von -tomas-
da ich mich wunderte, warum Bascom bei den paar Codezeilen 966 Byte verbraucht, habe ich den Bascom-Code mal 1:1 in Avr-gcc umgeschrieben [...]Trotz Compiler-Direktive "OPTIMIZE = -O2" beträgt die Codelänge in C erstaunliche 912Byte (gegenüber 966Byte in Bascom).
Mal abgesehen davon, daß du durch deine Programmierung ineffizenten Code erzwingst:

Wenn man auf Laufzeit optimiert und nicht auf Größe, darf man auch nicht erwarten, daß auf Größe optimiert wird... (BTW, mit -=O2 bekomm ich mit deinem Code 834 Bytes).

Bereits das entfernen eines überflüssigen(!) Qualifiers bringt ne Codeersparnis von über 40 Bytes... Wieviel weiter noch überflüssig sind ist wohl müssig nachzuschauen. Innerhalb von einigen Minuten hätte man den Code locker unter 700 Bytes