Programmeren in TI-83+ Assembly/Assembly-basis/De stack: verschil tussen versies

afbeeldingen naar onderen verplaatst om te voorkomen dat ze naast de inhoudsopgave kwamen te staan
k (klein probleempje met opmaak)
(afbeeldingen naar onderen verplaatst om te voorkomen dat ze naast de inhoudsopgave kwamen te staan)
Je kunt aan de 'bovenkant' van de stack een getal afhalen en deze weer opslaan in een registerpaar. Als je bijvoorbeeld het bovenste getal van de stack wilt halen en dit opslaan in af, gaat dat als volgt:
<pre> pop af</pre>
{| border="0" cellspacing="0" align="right" cellpadding="2"
|[[Afbeelding:Stack_pushen.png|thumb|none|Iedere keer als iets op de stack gelegd wordt, dan komt dit "bovenop de toren" te liggen. Je kunt dan niet meer direct bij onderliggende getallen.]]
|[[Afbeelding:Registers_naar_stack.png|thumb|none|Merk op dat je een getal dat op de stack ligt, er weer met een ander registerpaar vanaf kunt halen. Dat gebeurt hier bijvoorbeeld met af/de.]]
|}
 
===Een praktische toepassing===
a is nu weer teruggebracht in zijn oude staat, dus hoe hij was voordat de instructie werd uitgevoerd.
 
<!-- Twee afbeeldingen aan de rechterkant -->
{| border="0" cellspacing="0" align="right" cellpadding="2"
|[[Afbeelding:Stack_pushen.png|thumb|none|Iedere keer als iets op de stack gelegd wordt, dan komt dit "bovenop de toren" te liggen. Je kunt dan niet meer direct bij onderliggende getallen.]]
|[[Afbeelding:Registers_naar_stack.png|thumb|none|Merk op dat je een getal dat op de stack ligt, er weer met een ander registerpaar vanaf kunt halen. Dat gebeurt hier bijvoorbeeld met af/de.]]
|}
==Problemen bij het gebruik van de stack==
Er is iets waar je bij het gebruik van de stack heel goed op moet letten. Het besturingssysteem van de TI gebruikt de stack zelf namelijk ook. Je moet de stack dus precies hetzelfde achterlaten als hij was toen het programma startte. Zie het volgende voorbeeld.
775

bewerkingen

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.