Fast...
RAMEND ist nicht das Ende des Flash-Speichers, sondern das Ende des RAMs. Sonst hieße es ja FLASHEND. Flash-Speicher und RAM sind unterschiedliche Speicher, nicht durcheinanderwerfen.
Als Stack wird das RAM verwendet, und zwar beginnend mit dem letzten Byte. Am Anfang des RAMs sind die Register gemappt, danach I/O-Zellen, erst dann kommt das "echte" RAM. Jedenfalls, wenn ich das Datenblatt richtig verstanden habe...
Beim Tiny13 ist low(RAMEND) übrigens gleichbedeutend mit RAMEND, weil die Zahl RAMEND kleiner als 256 ist. Trotzdem ist es üblich, low() zu benutzen, weil diese Form bei größerem RAM notwendig ist (nebst high(RAMEND), z.B. beim ATtiny85) - man gewöhnt sich gleich dran.
Lesezeichen