Das hatt' ich befürchtet, jetzt hab' ich ihn verhärmt.

Also: (vergiß einmal die "0x0060")

Die AVR (und alle sogenannten "Harvard"-Fuzzys) unterscheiden strikt zwischen Programm- und Datenspeicher.

Dort, wo du dein Programm hinstellst, ist (logo) der Programmspeicher. der geht nun aber wirklich von 0 - 32767 (Atmega32) also 32k.
Vorne hat er seine Interrupt-Vektoren, der erste ist für "INIT"
https://www.roboternetz.de/wissen/in...inenprogrammes

Schau dir auch mal das Muster an, wie das in einem Programm aussieht.
https://www.roboternetz.de/wissen/in...ce-Code_Muster

Bis dahin ist alles wie von anderen Prozessoren gewohnt, register sind einfach register. Und jeder z.b. "JMP label" bezieht sich immer auf einen Label im Programm, auch wie gewohnt.

Erst dann, wenn du die 2k RAM-Speicher zum speichern (log) verwenden willst, geht's um die obgenannten 0060. das ist ganz einfach die niederste RAM-adresse, von dort weg hast du deine 2k RAM und eine Reihe Befehle, die sich darauf beziehen können. Auch ganz normal.

Nur in dem Adress-Bereich von 0000-0060 gibt es dieses "Mapping". Du kannst dieses Feature auch erstmal einfach ignorieren