Académique Documents
Professionnel Documents
Culture Documents
Haddam
Département d’informatique 16/01/2023 SOLUTION E.F. N°1 : UEF2111
Tlemcen Durée : 1 h 30 mn Année Univ. 2022/2023
NB :
(1) Merci d’inscrire votre N° du groupe de TD sur votre copie.
(2) DOCUMENTS PERSONNELS AUTORISES ( PAS D’ECHANGE !)
(3) CALCULATRICES & TOUS AUTRES EQUIPEMENTS ELECTRONIQUES INTERDITS.
1/2
UNIVERSITE AbouBakr Belkaïd FACULTE des Sciences T. Haddam
Département d’informatique 16/01/2023 SOLUTION E.F. N°1 : UEF2111
Tlemcen Durée : 1 h 30 mn Année Univ. 2022/2023
Exercice n° 2 : (10.5 pts) ( Temps / réf : 45 mn )
On considère le programme assembleur suivant, dans lequel on s’intéresse
particulièrement à la procédure XXX, qu’on souhaite étudier.
NOTE : La procédure TRI_DATA est la procédure de tri étudiée en TD, à
laquelle certaines modifications ont été apportées, essentiellement la
taille des registres utilisés.
MAIN PROC
XOR DH ; Compteur/Nbres valeurs ds PILE
MOV CL, 49 ; Compteur boucle Interne
MOV DL, CL ; Compteur boucle Externe
CALL XXX
SUB CL, DH ; CL CL – (Nre de valeurs <0)
CALL TRI_DATA
MOV AX, 4C00h
Int 21h
MAIN ENDP
XXX PROC
MOV BP, SP
ADD BP, 3 ; BP initialisée à (SPinit+1)
PUSH CL ; save CL (origin) pr après ‘CALL’
XOR BL ; index pr balayer « zone SI »
DEB : MOV BH, BL ; (3) index pr boucle « B_AL_NEG »
MOV CL, DL ; inutile au 1er passage, mais
; indispensable aux prochaines itérations
MOV AL, [SI][BL]
ROL AL, 1 ; (1)
AND AL, 1 ; (2)
JNZ DL11 ; DL11 = ”AL_NEG”
JMP AGAIN
DL11 : MOV AL, [SI][BL]
MOV [BP], AL
INC BP
DL12 : MOV AL, [SI][BH][1] ; DL12 = Boucle2_AL_ALN
MOV [SI][BH] , AL
INC BH
DEC CL
JNZ DL12
INC DH ; compteur/datas « <0 »
DEC BL ; Si (bcle B_AL_NEG), reprend depuis 1er élt.
AGAIN : INC BL
DEC DL ; BL + DL = Cte = Nbre / datas
JNZ DEB
EXIT : POP CL
RET
XXX ENDP
2/2
UNIVERSITE AbouBakr Belkaïd FACULTE des Sciences T. Haddam
Département d’informatique 16/01/2023 SOLUTION E.F. N°1 : UEF2111
Tlemcen Durée : 1 h 30 mn Année Univ. 2022/2023
a/ XXX est une procédure de tri par ordre décroissant.
b/ XXX est une procédure pour mettre à zéro une zone de la RAM.
c/ XXX est une procédure pour déplacer toutes les données d’une zone SI
vers la pile.
d/ XXX est une procédure pour copier toutes les données positives d’une
zone SI vers la pile.
e/ XXX est une procédure pour copier toutes les données négatives d’une
zone SI vers la pile.
f/ XXX est une procédure pour extraire toutes les données négatives d’une
zone SI vers la pile.
g/ XXX est une procédure pour extraire toutes les données positives d’une
zone SI vers la pile.
h/ XXX est une procédure pour extraire toutes les données négatives d’une
zone SI vers le dessus de la pile.
i/ XXX est une procédure comportant une ou plusieurs erreur(s).
Dans ce cas, indiquer les erreurs détectées.
3/2