Was passiert wenn das RAM überläuft?

Der 2313 hat 128 byte sram. Das wird vom Programm von unten nach oben mit Variablen vollgeschrieben.
Von oben nach unten wird der Stack größer, also gesicherte Registerinhalte und Rücksprungadressen bei Funktionsaufrufen.

Wenn du jetzt den Stack mit Variablen überschreibst, veränderst du wahllos die gesicherten Register und damit Daten, oder Rücksprungadressen. Du baust also zufälligen Datenmüll und der Programmablauf ist nur noch als zufällig zu beschreiben.

Anders herum ändert sich nur mehr oder weniger zufällig der Inhalt deiner Variablen.

Von den 128 byte benutzt du alleine im oben aufgeführten Codefragment ca. 60 für strings.

Schau mal hier: http://www.rn-wissen.de/index.php/Sp...en_mit_avr-gcc