< Programmeren in TI-83+ Assembly < Registers en procedures
Programmeren in TI-83+ Assembly |
|
Je hebt al leren werken met de stack. Een kleine herhaling:
- push registerpaar legt de waarde in registerpaar op de stack.
- pop registerpaar haalt het bovenste getal van de stack en slaat het op in registerpaar.
De stack is in werkelijkheid echter niet meer dan een rij getallen in het geheugen.
Hoe de stack wordt opgeslagen
Ieder registerpaar beslaat twee bytes in het geheugen. Het "onderste" getal van de stack staat in $FFFF-$FFFE. Hierna loopt de stack "achteruit" in het geheugen, dus het volgende getal zou worden opgeslagen in $FFFD-$FFFC. Hoe houdt de processor echter bij tot hoever de stack loopt? Namelijk, in $FFFB-$FFFA zou allerlei rommel kunnen staan en het is voor de processor dus niet te bepalen of deze nog bij de stack hoort of niet. Daarom is er een extra register ingevoerd, de stack pointer (sp). Dit register houdt de waarde vast van het laatste getal in de stack.
Werking van de stack | De instructies call en ret → |
This article is issued from
Wikibooks.
The text is licensed under Creative
Commons - Attribution - Sharealike.
Additional terms may apply for the media files.