plus exemples exo MVsP

This commit is contained in:
Florent Madelaine 2024-01-29 12:42:07 +01:00
parent 0850a1cd1c
commit fb166efe35
2 changed files with 52 additions and 0 deletions

13
MVaP/ExampleTest.mvap Normal file
View 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

View 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