Hallo an alle!

Zuerst 'mal ein !_ganz_großes_Dankeschön_! für Eure _Spitzen-Abhandlung_!!!!

Harri hat natürlich recht: 1 + 4 = 5 (nicht 3)
Sorry war mein Flüchtigkeitsfehler! (... den aber auch Superhirn übersah!)

Was _ich_ daraus gelernt habe:
1. der Präprozessor ersetzt einfach nur! (Danke an Sebastian!)
2. der Compiler ist intelligent*) und macht gleich den richtigen Wert aus einem an sich in Maschinensprache komplexen Ausdruck! (Danke an mic!)
(Wobei "Maschinensprache" hier im Bsp. nicht so _ganz_ passt; es scheint eher ein Objekt-Code, also die Vorstufe dazu, zu sein.)

Toll, wie Ihr das erklärt habt: Ich denke, da haben noch jede Menge anderer Leser dazulernen können!

@mic!
Die setLEDs(); dienen der Orientierung im Assemblerlisting. ...
Ist sehr tricki!!!

Was heißt eigentlich das "lo8(5)" bei einem _Byte_-Register? (Evtl. 'was für den Linker!?)

Nochmals Danke!
cu Helmut

*) denn bei a >>= 4 muss er ja wirklich schieben!
(Das Gelernte gilt offensichtlich nur bei _Konstanten_!)

Übrigens meine Idee war, Platz zu sparen; aber da hätte die Lesbarkeit gelitten!