41 0 594KB
TP N04 Gestion de la pile et application pour la gestion de la circulation routière Solution 01: Les valeurs des registres pairs Le registre BC Le registre DE B C D E
Le program en assembleur Code
Discussion
LXI SP,0090 LXI B,1234 LXI D,5678 PUSH B
Initialiser PS par 0090H Charger BC par1234H Charger BC par5678H Envoyer B a la pile.
/ 12 12 12
/ 34 34 34
/ / 56 56
/ / 78 78
PUSH D
Envoyer D a la pile.
12
34
56
78
POP B
Récupérer la pile dans B.
56
78
56
78
POP D HLT
Récupérer la pile dans D. Fin du program
56 56
78 78
12 12
34 34
Solution 02: 1. Les valeurs des flag CY=0;S=0;AC=0;Z=0;P=0 2. Le contenu de la pile après l’exécution de CALL : 10H 3. le contenu des registres SP et PC après l’exécution de CALL : SP=00FCH / PC=0014H 4. L’adresse de retour au programme principal : 000BH
1
TP N04 Gestion de la pile et application pour la gestion de la circulation routière Solution 03: Le code en assembleur
Discussion
LXI SP,0099
Initialiser PS avec 0099H.
LXI H,0090
Charger HL par 0090H.
MVI C,10
Charger C par (10)16 (16)10 Charger M par FFH => adresse mémoire M reçoit FFH.
START: MVI M,FF INX H
Incrémenter le registre pair HL.
DCR C
Décrémenter C.
JNZ START
Vérification de la conduction d’arrêt de la boucle.
LXI B,0237
Charger BC par0237H.
LXI D,1242
Charger DE par1242H.
LXI H,4087
Charger HL par4087H.
PUSH B
Envoyer B a la pile.
PUSH D
Envoyer D a la pile.
PUSH H
Envoyé H a la pile.
HLT
Fin du program.
0090H
0091H
0092H
0093H
0094H
0095H
0096H
0097H
0098H
0099H
009AH
009BH
009CH
009DH
009EH
009FH
Le contenu de l’adresse mémoires de 0093 a 0098 :
FF
FF
FF
87
40
42
12
37
02
FF
FF
FF
FF
FF
FF
FF
2
TP N04 Gestion de la pile et application pour la gestion de la circulation routière
Solution 04:
Le code en assembleur MVI B,21 MVI C,6 MOV A,B OUT 00H MOV A,C OUT 01H CALL DELLAY CALL DELLAY CALL DELLAY MVI B,22 MVI C,A MOV A,B OUT 00H MOV A,C OUT 01H CALL DELLAY MVI B,C
MVI C,9 MOV A,B OUT 00H MOV A,C OUT 01H CALL DELLAY CALL DELLAY CALL DELLAY MVI B,14 MVI C,A MOV A,B OUT 00H MOV A,C OUT 01H CALL DELLAY HLT 1
DELLAY: MVI B,7C MVI C,2B
Loop2:
MVI D,D0
Loop3:
DCR D JNZ Loop3 DCR C JNZ Loop2 DCR B JNZ Loop1
RET
2
3
Loop1:
3