Vous êtes sur la page 1sur 3

Ministre de lEnseignement Suprieur et de la Recherche Scientifique Universit Dr Tahar Moulay de Sada Facult des Sciences et de la Technologie Dpartement de Mathmatique

et dInformatique me Licence : 2 Anne Informatique

Anne Universitaire : 2011/2012

UE 7 : Architecture des Ordinateurs

Corrig Examen Final (Semestre 3)


Questions de cours : (7pts)
1. Citez les registres utiliss pour le mode dadressage indirect ? BX, BP, DI, SI 2. Quel est le mode dadressage utilis dans cette instruction ? Est ce quil est autoris pour ce genre de registre ? Si non corrigez linstruction ? 1,5pts Adressage Immdiat, non il nest pas autoris pour les registres de segments, MOV AX, 01F5H ; MOV DS, AX MOV DS, 01F5H 3. Nous voulons changer les bits 5 et 12 du registre AX zro sans changer les autres, donnez linstruction assembleur qui convient ? AND AX, 1111011111101111 1pts 4. Dans une architecture Intel, Quel est lordre de lecture/criture dun Word mmoire ? Comment appelle-t-on ce type daccs ? Donnez un exemple de transfert mmoire registre explicitant ce type. 1,5pts Lordre de lect/ecriture : en premier loctet en haut, le deuxime loctet en bas ; little-endian AX 1F 2B 00100h 00101h 2 1 B F 1,5pts 1,5pts

5. Quel registre sollicite linstruction "LOOP tiqute" ? Expliquez ce procder.

Loop sollicite le registre CX ; elle dc CX puis fait le test avec 0 si =0 sortir de la boucle sinon se brancher vers tiquette.

Exercice n1 : (03pts)
Soit les instructions suivantes : MOV AL, 112 MOV AH, 68 SUB AH, AL Ralisez cette opration en binaire et donnez le contenu du registre AH ? Les oprations signs sont reprsentes en complment 2 : A-B= A+ C2(B) 112= 0111 0000 68= 0100 0100 C2(112) = 1001 0000 0100 0100 1pts 1pts 1pts

68-112= 68+ C2(112)= 0100 0100 + 1001 0000 = 1101 0100 = D4H

Exercice n2 : (05pts)
Soit lalgorithme en langage volu : n := 28 // n est un nombre entier som_div := 1 // som_div est la somme des diviseurs de n i := 2 // i reprsente les diviseurs de n REPETER SI ( n mod i = 0) ALORS som_div := som_div + i FINSI i := i + 1 JUSQU ( i = n 1 ) SI som_div = n Page 1/3

ALORS ecrire ('parfait') SINON ecrire('non parfait') FINSI Traduire lalgorithme ci-dessus en Assembleur ?

code segment assume cs:code, ds:donnee debut : mov ax, donnee mov ds, ax mov bh, 2 mov cx, 1 ;bh va contenir les diviseurs ;CX va contenir la somme des diviseurs ; utiliser uniquement le registre cl et initialiser ch 0

repeat: mov ax, nb div bh cmp jne add nondiv: inc cmp jne repeat mov ax, Nb cmp cx, ax ah, 0 nondiv cl, bh bh bh, 27 ;division 16bit/8bits rsultat dans AL, le reste dans AH ;si reste =0 ajouter bh aux disviseurs (CL) ;faire le test du reste de la division ah ;se branher vers etiq nondiv pour un non diviseur ;si reste=0 ajouter nbre dans bh au diviseur dans CL ;incrmenter le diviseur ;comparer diviseur avec nb-1 pour viter de calculer ;nb div 2 et faire les choses simple ;si bh<>27 aller vers dbut boucle repeat ;charger nb dans AX ;cl contient la somme des diviseurs et CH est vide donc ;CX contient la somme des div pour pouvoir tester 2 reg ;de 16bits

je parf mov dx, mov ah, int 21h jmp fsi parf: mov dx, mov ah, int 21h

offset msg2 09h

offset msg1 9h

fsi: mov ah, 4ch int 21h code ends donnee segment nb dw 28 msg1 db "Nombre Parfait", '$' msg2 db "Nombre non Parfait", '$' donnee ends end debut

Exercice n3 : (05pts)
Ecrire le code (uniquement les suites dinstructions) Assembleur pour faire la somme de dix (10) lments dun tableau. Le premier tant rang la case mmoire ayant ladresse "0F68H" ? (chaque nombre est sur un octet et la somme peut dpasse 255) mov bx, 0F68H mov cx, 10 ;BX contient ladresse du 1er lment ;CX (compteur) contient le nombre dlment du tableau Page 2/3

mov ax, 0 mov dx, 0

;AX contient la somme et initialis 0 ;initialiser DX zro, le sous-registre DL va contenir ;llment lu de la mmoire, DH restera toujours zro et sera ;utile pour laddition des 2 registres AX et DX

repeat: mov dl, [bx] add ax, dx inc bx loop repeat

;pour lire 1 seul octet de la mmoire ;DH tant zro faire la somme de 2 registre 16bits ;incrmenter BX pour lire lelt suivant du tableau

Page 3/3

Vous aimerez peut-être aussi