Ja. Variablen wachsen von niedriger Adresse nach hoher Adresse, der Stack von hoher nach niedriger Adresse.
Wenn der Stackverbrauch zu groß wird, z.B. durch rekursiven Code, dann wächst er in die Variablen hinein und es gibt Datensalat.
RAMEND ist je nach Prozessortyp und dessen SRam-Größe an anderer Adresse, das Prinzip bleibt zumindest bei den hier besprochenen Prozessoren immer gleich.Wie das beim Tiny13 aussieht, kann ich nicht erkennen, oder Datenblatt ranholen.
Der Stack arbeitet nach dem LiFo-Prinzip, last in, first out.Interessant ist auch, daß die Befehle rcall / icall / call und Inter. die aus 2 Bytes besteh. Rücksprungadresse
auf den Stapel legen, und automatisch durch ret bzw. iret wieder entfernt werden.
Nein, sonst hätte ich ja nicht geantwortet. Wobei Du mir zur Funktion aber sicher nix Neues sagen kannstDas wars erst mal, hoffentlich langweilt Dich dieses Thema nicht.
Lesezeichen