Erst mal vielen Dank für die Antworten auch wenn ich glaube, dass sich das im AVR-Assembler nicht so ohne weiteres realisieren lässt.

Ich habe inzwischen aber noch eine andere Idee, die ich vorerst probehalber im kleinen versuche.
Man kann, wenn ich das richtig verstehe, dem Assembler mit .org genau anweisen, wo ein Programmabschnitt zu stehen hat. Jetzt könnte ich versuchen damit die Menüführung ganz an das Ende des Flash-Speichers zu legen und die als nächstes anzuspringenden Menüadressen als Konstanten angeben. Das Problem ist nur, dass man genau wissen muss wie groß die Menüführung wird und später keine Menüs mehr dazu kommen können weil dann die Startadresse weiter nach vorn rutscht und damit alle Konstanten manuell geändert werden müssen. Das ist bei 58 Menüs nicht unbedingt schnell gemacht.

Am einfachsten wäre wirklich die Möglichkeit eine Sprungmarke, die an sich Konstant ist, als Variable zu Verwenden indem man ihren Wert in ein Register legt.

Ich würde mich sehr über weitere Vorschläge freuen.

Liebe Grüße
Stephan