1 \subsection{Variabelen
}
2 Variabelen in
\textit{While
} worden op een totaal andere manier opgeslagen in
3 \textit{Piet
}. Waar variabelen in while een naam hebben, hebben variabelen in
4 \textit{Piet
} een nummer en kunnen ze door het aanroepen van een functie
5 bovenaan gezet worden. De functie kan precies $
1$ of precies $
2$ variabelen
6 boven aan de stack zetten. Hetzelfde kan voor de variabelen posities $a$ en $b$
7 waarbij $b>a$. De piet' code om de variabele boven aan te krijgen is dan als
8 volgt: $push b-
1, push b-a, roll, push b, push b, push b*
2, sub, roll$.\\
9 Allereerst wordt $b-
1$ op de stack gedrukt, dit bepaalt de diepte van de eerste
10 $roll$ en zorgt ervoor dat $a$ tegen $b$ aan komt te liggen. $b-a$ wordt dat op
11 de stack gepushed, dit is het verschil tussen $a$ en $b$ en bepaalt het aantal
12 rolls er gedaan wordt op de stack, dit zijn er precies genoeg om $a$ bij $b$ te
13 plaatsen. Vervolgens moeten ze nog naar boven en dat kan door $-b+
1$ stappen te
14 rollen met een diepte van $b$. de eerste $push b$ bepaalt de diepje en
15 vervolgens wordt met $push b, push b*
2-
1, sub$ $b-
1$ op de stack gepushed om te
16 rollen en $a$ en $b$ bovenaan te plaatsen.