Vous êtes sur la page 1sur 4

Série N°3 selection parmi ces exercice

Exercice N° 1: ok
Ecrire un programme, en langage assembleur 8086, qui permet de compter les nombres nuls
dans un tableau d’octets mémoire de longueur 100h et débutant à l’adresse [200h], le résultat
sera placé à l’adresse [400h]. On donne dans la figure ci-dessous l’organigramme
correspondant.

Exercice N°2: ok
Soit la déclaration suivante :
TABLE1 Dw 0xA2F3, 563A, 3A
LG_TABLE1 EQU $-TABLE1
1er Partie  :

Ecrire un programme, en langage assembleur 8086, qui permet d’appliquer sur chacune case
octet mémoire appartenant à TABLE1, la technique suivante :

 Si l’octet mémoire possède à la fois un bit N°3=1 et un bit N°5=1, nous


appliquons un décalage à droite par 3

 Si l’octet mémoire possède à la fois un bit N°3=1 et un bit N°5=0, nous


appliquons un décalage à gauche par 2

 Dans les cas contraires, nous appliquons une rotation à droite par 4 (sans
faire intervenir le Flag CF pendant la rotation)

Note : le résultat du chacune case est transféré vers la même position.

2ième Partie  :

Exécuter ce programme, et donner le nouveau tableau octets mémoire TABLE1.


Exercice N°3 (rattrapage 2010) ok
Soit la déclaration suivante :
TABLE1 DB 10, -5, 8, 0, 60, 9, 4, 0, 5, -7, 5, 8, 2
LG_TABLE1 EQU $-TABLE1
Ecrire un programme qui tri TABLE1dans l’ordre croissant suivant la méthode de tri par
sélection dont l’algorithme est le suivant :

Pour i1 à n-1 par pas de 1 faire


mini
Pour ji+1 à n par pas de 1 faire
Si TABLE[j]< TABLE[min] alors minj
FPour
Si min  i alors permuter (TABLE [min], TABLE [i])
FPour

Exercice N°4: ok
Ecrire un programme qui permet de chercher la valeur D5 dans la variable TAB définit à
partir des offsets 140h jusqu'à 150h. Si cette valeur existe, faire transférer l’offset
correspondante vers le sommet de la pile et compter combien de fois.

Exercice N°5 :(rattrapage 2010) ok


Soit la déclaration suivante :
TABLE DB 10, -5, 8, 0, 60, 9, 4, 0, 5, -7, 5, 8, -2
SOMME DB  ?
MOYENNE DB  ?
Ecrire un programme en assembleur qui calcul la somme des éléments de TABLE et leur
moyenne et les places respectivement dans SOMME et MOYENNE.
Exercice N°6: ok
On considère l’organigramme de la figure suivante, on demande de donner le code
assembleur 8086 correspondant, (partie plus significatif) et d’expliquer le fonctionnement de
ce programme.
Exercice N°1: (10 pt) ok
Soit le programme suivant :
MOV Ah, 0x9C
MOV Bh, 0xE6
MOV Cl, 4
label_1: ROR Ah, Cl
XOR Ah,Bh
SHL Bh, Cl
LOOPNZ label_1
HLT.
Exécuter ce programme tous en indiquant les états des registres AX et BX.

Exercice N°2: (10 pt) ok


On donne la structure algorithmique suivante :

Si (AH>0 et BH>0) ou (AL<0 et BL<0)

Faire

- Décaler à droite le registre Ax par 3


- Appliquer la fonction logique XOR entre Bx et Ax,
le résultat sera mis dans Bx

Si_non

- Faire une rotation à gauche du registre AX par 3


- Appliquer la fonction logique AND entre Ax et Bx,
le résultat sera mis dans Ax

Fin_Si

1- En commençant par affecter les registres AX et BX par deux valeurs quelconques,


Donner l’organigramme correspondant à cette structure algorithmique. Note  : Sans
faire aucune exécution.

2- Traduire en code assembleur

VOIR examen 2015,2014,2013

Vous aimerez peut-être aussi