Vous êtes sur la page 1sur 5

Test #1

INFO 2003-01M
Dpartement d'informatique

Le 14 mars 2008

Professeur: Julien B. Chiasson


Nom: ________________________________________________________________________ Matricule : ________________________________________________

Dure : 110 minutes (Total: 110 points bruts) (Vous avez jusqu 11h50 pour remettre votre copie) Question 1 (4 points) Parmi les sept diagrammes suivant lequel correspond SAR ? RCL ? ROR ? SHL ?
0

Question 2 ( 10 points ) Soit le segment suivant : DATA A B C D E SEGMENT DB 20 DUP( 0 ) DB 00111011B DB 'MESSAGE' DW 3, 17, 14, 5, 9 DW 0AF54H ENDS

Donnez les dplacements (offsets) de chacune des tiquettes ou noms symboliques suivants : Nom symbolique A B C D E Dplacement Question 3 ( 10 points ) Compltez lentte de la procdure suivante (et seulement lentte) pour indiquer que a) Elle est dans le mme module que la procdure appelante b) Les registres CX, DX, SI et DI sont protgs c) La procdure reoit deux paramtres de 16 bits chacun par le biais de la pile. Q3 PROC

Question 5 ( 10 points ) Appel une procdure FAR Soit la procdure suivante : Q4 PROC FAR IMUL X Q4 RET ENDP USES DX, X :WORD

Quelles instructions doivent prcder linstruction CALL Q4 pour que cette procdure fasse son travail adquatement ?

Expliquez ce que calcule cette fonction.

Au retour, o se trouve la rponse ? Est-elle valide dans tous les cas ? Comment peut-on le dtecter lextrieur de la procdure ?

Dcrivez la squence dvnements qui se passe lors du CALL Q4 :

Question 6 ( 10 points ) Conversion Convertissez le nombre dcimal suivant en binaire : 25.84. Ne calculer que 4 places aprs le point binaire.

Convertissez le nombre binaire suivant en octal : 1001110101010.0101110101.

Convertissez le nombre octal suivant en hexadcimal : 731.254.

Convertissez le nombre hexadcimal suivant en dcimal : 2C.F8.

Question 7 ( 4 points ) Soit le nombre sign 8 bits suivant : 10100011 Comment doit-on le reprsenter en 16 bits : ______________________________________ Soit le nombre non sign 8 bits suivant : 00110101 Comment doit-on le reprsenter en 16 bits : ______________________________________ Soit le nombre non sign 8 bits suivant : 10010001 Comment doit-on le reprsenter en 16 bits : ______________________________________ Soit le nombre sign 8 bits suivant : 01101100 Comment doit-on le reprsenter en 16 bits : ______________________________________

Question 8 ( 8 points ) crivez du code (et seulement que ce code) pour modifier le registre FLAGS de la faon suivante : changer le bit en position 5 pour que sa valeur soit 0.

Question 9 ( 8 points ) Pour le deuxime oprande de chacune des 8 instructions suivantes, associez-les au bon mode dadressage. Mode Rponse Adressage base-plus-index A MOV AX, [DX] Adressage direct B MOV AX, [CX+10H] Adressage immdiat C MOV AX, [158H] Adressage index multipli D MOV AX, [BP+DI] Adressage registre E MOV AX, 27 Adressage registre indirecte F MOV AX, [BP+4*SI] Adressage registre relatif G MOV AX, TABLE[BX+DI] Adressage relatif-base-plus-index H MOV AX, DX

Question 10 ( 8 points ) Soit les contenus des registres suivants : AX BX CX DX 10H 20H 30H 40H DI SI SP BP 50H 60H 70H 80H CS DS ES SS 2000H 3000H 5000H 8000H

LISTE et TABLE sont des tiquettes associes au segment de donnes dont ladresse est dans le registre DS. LISTE a un dplacement de 40H. TABLE a un dplacement de 100H. Pour le deuxime oprande de linstruction suivante, de quelle adresse mmoire absolue viendra la donne ? Montrez votre calcul. a) MOV AX, CHOIX[ CX + 20H ]

b) MOV

AX, TABLE[ DX + DI ]

c) MOV

AX, ES :[SI]

d) MOV

AX, [SP]

Question 12 ( 8 points ) Soit un bloc de 5 mots en mmoire identifi par ltiquette N.


79 64 63 48 47 32 31 16 15 0

N
crivez le code ncessaire pour faire le dcalage suivant : - tous les bits sont dcals dune place vers la droite ; - la valeur du bit qui tait en position 0 doit se retrouver dans le bit du CARRY (CF) ; - le bit #79 doit maintenant contenir la valeur 0.