Vous êtes sur la page 1sur 2

Fiche de travail du Module Microprocesseur

Application 2 solution

Algorithme

1 Charger le 1er nombre dans un registre ( AL = [ 150H] )

2 Initialiser un pointeur série sur le deuxième élément (SI = 151 H)

3 Comparer si AL > [ SI ] alors AL = [ SI ]

4 Incrémenter le pointeur série (SI = SI+1)

5 Tester si pointeur série ≠ adresse fin alors retour à (3) (SI ≠ 160H)

6 Sauvegarder la valeur trouvée à la fin de la série ( [ SI ]=AL )

7 Fin

Organigramme Programme

Début

AL <------------------------- [150] 100 MOV AL , [150]

SI <------------------------- 151
103 MOV SI , 151
L0
106 L0 CMP AL , [ SI]
AL > [SI] 108 JC L1

10A MOV AL , [ SI ]


AL <------------------------- [SI]

L1

SI <------------------------- SI+1 10C L1 INC SI

SI = 160
10D CMP SI ,160
111 JNZ L0

[ SI ] <------------------------- AL 113 MOV [ SI ] , AL

115 END
Fin

Remarque1 :
1
Fiche de travail du Module Microprocesseur

En DEBUG END = INT 20 et L0 = 106 et L1 = 10C

Remarque2 :

En DEBUG : JC = JB  et JNC = JNB

Remarque3 :
Pour déterminer le plus grand il suffit de remplacer dans le programme
l’instruction JC L1 par JNC L1

Vous aimerez peut-être aussi