< 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.

De indexregisters 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.