ordre opérations et nouvel exercice vider la mémoire

This commit is contained in:
Florent Madelaine 2023-12-18 11:16:59 +01:00
parent 75a05a6cc2
commit 460b23f88e

View File

@ -110,6 +110,8 @@ PUSHL a # analogue de PUSHG pour des variables locales (utilise FP)
STOREL a # analogue de STOREG
```
L'ordre des opérations est naturel, si on voit la pile de côté, bas à gauche, haut à droite. Une opération qui mange deux arguments prendra l'avant dernier argument comme premier argument et le dernier comme second argument.
### Un premier exemple
```
@ -255,6 +257,31 @@ print(i)
```
Testez votre code avec la MVàP.
### Exercice
Produire du code MVàP qui s'inspire du code suivant et simule la lecture et le stockage d'un tableau avant de vider la pile.
La version ci-dessous ne vide pas la pile.
```
# Boucle While
LABEL 19
# le test qui va laisser une valeur 0 ou 1 en haut de la pile
# PUSHI 0 # pour faux, donc je saute après
# PUSHI 1 # pour vrai, donc je ne saute pas.
READ # on demande à l'utilisateur
JUMPF 18 # saut conditionnel vers le label 1 si le test est Faux sinon continue
# quelque chose
READ
# Fin du quelque chose
JUMP 19
LABEL 18
#La suite
PUSHI 666
WRITE
POP
# Fin de la suite.
HALT
```
### Exercice
Produire du code MVàP qui correspond au code python suivant.