ordre opérations et nouvel exercice vider la mémoire
This commit is contained in:
parent
75a05a6cc2
commit
460b23f88e
@ -110,6 +110,8 @@ PUSHL a # analogue de PUSHG pour des variables locales (utilise FP)
|
|||||||
STOREL a # analogue de STOREG
|
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
|
### Un premier exemple
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -255,6 +257,31 @@ print(i)
|
|||||||
```
|
```
|
||||||
Testez votre code avec la MVàP.
|
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
|
### Exercice
|
||||||
Produire du code MVàP qui correspond au code python suivant.
|
Produire du code MVàP qui correspond au code python suivant.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user