plus exemples exo MVsP
This commit is contained in:
parent
0850a1cd1c
commit
fb166efe35
13
MVaP/ExampleTest.mvap
Normal file
13
MVaP/ExampleTest.mvap
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# 11 - 1?
|
||||||
|
PUSHI 11
|
||||||
|
PUSHI 1
|
||||||
|
SUB
|
||||||
|
# 11 / 2?
|
||||||
|
PUSHI 11
|
||||||
|
PUSHI 2
|
||||||
|
DIV
|
||||||
|
# tester 3 < 5
|
||||||
|
PUSHI 3
|
||||||
|
PUSHI 5
|
||||||
|
INF
|
||||||
|
HALT
|
39
MVaP/ExoWhileViderPile.mvap
Normal file
39
MVaP/ExoWhileViderPile.mvap
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# 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
|
Loading…
Reference in New Issue
Block a user