39 lines
797 B
Plaintext
39 lines
797 B
Plaintext
|
# mon compteur de passages dans la boucle while (donc de valeurs empilees)
|
||
|
PUSHI 0
|
||
|
# Boucle While
|
||
|
LABEL 19
|
||
|
# le test qui va laisser une valeur 0 ou 1 en haut de la pile
|
||
|
READ # on demande à l'utilisateur
|
||
|
JUMPF 18 # saut conditionnel vers le label 1 si le test est Faux sinon continue
|
||
|
# quelque chose
|
||
|
READ
|
||
|
PUSHI 1
|
||
|
PUSHG 0
|
||
|
ADD
|
||
|
STOREG 0
|
||
|
# Fin du quelque chose
|
||
|
JUMP 19
|
||
|
LABEL 18
|
||
|
#
|
||
|
# La suite : il faut faire autant de pop que la valeur du compteur
|
||
|
# en gros while compteur > 0 : Pop; compteur --:
|
||
|
#
|
||
|
|
||
|
LABEL 0
|
||
|
# le test qui va laisser une valeur 0 ou 1 en haut de la pile
|
||
|
PUSHG 0
|
||
|
PUSHI 0
|
||
|
SUP
|
||
|
JUMPF 1 # saut conditionnel vers le label 1 si le test est Faux sinon continue
|
||
|
POP
|
||
|
# decrementer le compter
|
||
|
PUSHG 0
|
||
|
PUSHI 1
|
||
|
SUB
|
||
|
STOREG 0
|
||
|
JUMP 0
|
||
|
LABEL 1
|
||
|
#La suite
|
||
|
POP # pour la variable
|
||
|
# Fin de la suite.
|
||
|
HALT
|