Eine für mich plausible Erklärung wäre Sicherheit. In größeren Anwendungen stelle ich meist auch beim Eintritt in das Hauptprogramm sicher, dass der Watchdog und die Interrupts deaktiviert sind. Also einfach nur sicherstellen, dass die Voraussetzungen für das Programm erfüllt sind.
Hast du mal in ein Datenblatt eines älteren Controllers geschaut? Kann ja auch gut sein, dass es sich aus Erfahrung eingebürgert hat. Soweit ich mich erinnere werden die meisten Register mit 0x00 initialisiert, was das Laden des Stackpointers auch erklären würden.
Siehe ATmega8 Datenblatt Initialwert für den Stack ist 0x00 und die Adresse ist 0x0060.
Lesezeichen