Exemple calcul moyenne
This commit is contained in:
68
1-ComputationAndData/MVaP/ExempleCalculMoyenneFetX.mvap
Normal file
68
1-ComputationAndData/MVaP/ExempleCalculMoyenneFetX.mvap
Normal file
@@ -0,0 +1,68 @@
|
||||
#### Exemple vu en cours le 6/10/2025 (calcul de moyenne de F et X,
|
||||
### Max (1/3F+2/3 X; X)
|
||||
|
||||
|
||||
PUSHI 0 # F habite à l'adresse 0
|
||||
PUSHI 0 # X habite à l'adresse 1
|
||||
|
||||
|
||||
PUSHI 0 # R1 habite à l'adresse 2
|
||||
PUSHI 0 # R2 habite à l'adresse 3
|
||||
PUSHI 0 # R3 habite à l'adresse 4
|
||||
|
||||
READ
|
||||
STOREG 0
|
||||
|
||||
READ
|
||||
STOREG 1
|
||||
|
||||
# PUSHG adr # valeur sur la pile
|
||||
# STOREG adr # MàJ de la variable
|
||||
#
|
||||
#
|
||||
# Je calcule F/3 et je le stocke dans R1
|
||||
PUSHG 0 # récupère valeur de F
|
||||
PUSHI 3
|
||||
DIV
|
||||
STOREG 2
|
||||
# Je calcule X*2/3 et je stocke dans R2
|
||||
PUSHG 1 # récupère la valeur de X
|
||||
PUSHI 2
|
||||
MUL
|
||||
PUSHI 3
|
||||
DIV
|
||||
STOREG 3
|
||||
# Je fais la somme des deux et je l'écris dans R3
|
||||
PUSHG 2 # valeur de R1
|
||||
PUSHG 3 # valeur de R2
|
||||
ADD
|
||||
STOREG 4 # affectation de R3
|
||||
|
||||
|
||||
|
||||
### du code avec branchement ici : Max de X et R3.
|
||||
|
||||
# Je veux récupérer R3 et X
|
||||
PUSHG 1 # X
|
||||
PUSHG 4 # R3
|
||||
SUP
|
||||
JUMPF 0 # si faux il faut écrire R3
|
||||
# si plus petit (test vrai pas de saut), je veux écrire X
|
||||
PUSHG 1 # X
|
||||
JUMP 1
|
||||
|
||||
# sinon je veux écrire R3
|
||||
LABEL 0 # le cas
|
||||
PUSHG 4 # R3
|
||||
JUMP 1
|
||||
# Je veux écrire la bonne valeur
|
||||
LABEL 1 # la partie du code qui écrit (la suite)
|
||||
WRITE
|
||||
POP
|
||||
# vider la mémoire
|
||||
POP
|
||||
POP
|
||||
POP
|
||||
POP
|
||||
POP
|
||||
HALT
|
Reference in New Issue
Block a user