Architecture : Assembleur 8086
Série d’exercices
P1/3
NB : Les exercices marquées (*) sont à rendre comme devoir libre. Exercice 1
Supposons que DS = 1111h; SS = 2222h; CS = 3333h; BP = 4444h; BX = 5555h; 5555h; SI = 7777h et IP = 6666h. Le contenu de quelles adresses physiques se retrouvera dans AX suite aux instructions suivantes: 1) MOV AX, [BP] 2) MOV AX, [BX] 3) MOV AX, [SI] Exercice 2 (*)
Quel instruction devrions-nous devrions-nous utiliser pour mettre les deux bits LSB de AX à 0? pour les mettre à 1? Exercice 3 (*)
Écrivez un programme qui qui multiplie par 2 un octet mis dans l’adresse 1200h et le résultat sera chargé dans l’adresse 1400h.
Exercice 4
Dans le cas où ces registres ont les valeurs suivantes: suivantes: BX=324A, BP=2500, AX=36C1, DS=5000, SS=7000, SI=2000, DI=4000, Calculer l’adresse physique de la mémoire ou l’op érande est sauvegardé, ainsi que le contenu des locations mémoires dans chacun des modes d’adressage suivants suivants : Mode d’adressage Instruction Adresse physique MOV ax,bx MOV al, 12h MOV [BP], AL
Son Contenu
Exercice 5 (*)
Dans le cas où ces registres ont les valeurs suivantes: suivantes: BX=324A,
BP=2500,
Instructions
MOV
[2000h],AX
MOV
[SI], AL
MOV
[BX], AX
MOV
AX, 100h
MOV
[BP]+150, AX
AX=36C1,
DS=5000,
Mode d’adressage
SS=7000,
SI=2000, DI=4000,
Adresse physique
Son contenu
Pour chaque instruction du tableau : 1) Donner le mode d’adressage ; 2) Calculer l’adresse physique de la mémoire ou l’opérande est sauvegardé ; 3) Ecrire le contenu des locations mémoires dans chacun des modes d’adressage.
Prof : A. El magri
1BTS GI
Lycée technique Ibn Sina
Architecture : Assembleur 8086
Série d’exercices
P2/3
Exercice 6 Soit à convertir l’algorithme suivant en assembleur 8086. Compléter le programme assembleur
suivant et ajouter des commentaires : Algorithme
Si A=B Alors C = 1 Sinon C = B Finsi Assembleur
alors:
MOV MOV
AX, a BX, b
………
AX, BX ;…………… sinon ;……………
JNE MOV ……..
AX, 1 c, AX
JMP sinon:
…….. ;……………. MOV AX, …… …….. ….., ……
finsi : Exercice 7 Ecrire la suite d’instructions pour réaliser les étapes suivantes :
1. Mettre 1 dans AX 2. incrémenter AX 3. comparer CX avec 200 4. si AX # 200 recommencer au point 2 5. sinon copier AX dans BX Exercice 8 (*) Ecrire la suite d’instructions pour réaliser les étapes suivantes :
1. copier le contenu de la case mémoire [1230h] dan CX 2. Comparer CX à 200 a. si # incrémenter CX et recommencer au point 2 b. si = copier CX dans AX et continuer le programme Exercice 9
Programme qui cherche la valeur 65 dans le RAM à partir de la position 4000h. Une fois trouvée, placer son adresse dans le registre AX. Exercice 10
Convertissez les algorithmes ci-dessous en assembleur. 1) IF….THEN….ELSE If (AX>BX) { Max = AX }else{ Max = BX }
2) FOR (*) BX = 5 AX = 2 For (CX=0 ; CX
Prof : A. El magri
1BTS GI
Lycée technique Ibn Sina
Série d’exercices
Architecture : Assembleur 8086
P3/3
AX += CX }
3) La boucle WHILE (*) AX = 0 CX = 0 while ( AX < 10){ CX += 2*AX AX++ }
Prof : A. El magri
1BTS GI
Lycée technique Ibn Sina