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 |