Gast
#39479
Hallo AVR-Fans, um meinen Strom von Anfragen nicht abreissen zu lassen, kommt hier schon wieder die nächste :-) Also: Wie kann ich in GCC-Assembler-Code eine Sprungtabelle im ROM definieren und zwar so, daß die Adresse NICHT zur Laufzeit durch zwei geteilt wird (ich kenne bereits die Funktionen pm_lo8 und pm_hi8, mit denen man so ähnliche Dinge erreicht, aber die helfen nichts) Beispiel: ziel1: ; code... ziel2: ; code... sprung_tabelle: .word ziel1 >> 1 .word ziel2 >> 1 So würde es im Prinzip aussehen, weil der Prozessor Wortadressen benötigt (von Vorwärtsreferenzen wage ich momentan noch gar nicht zu träumen). Leider packt das aber der Assembler nicht. Gibt's eine korrekte Vorgehensweise? Oder anders: Gibt's eine Doku mit allen Funktionen des Assemblers? In freudiger Erwartung Christian