Vous êtes sur la page 1sur 1

USTHB L2A 2020-2021

FEI / Dépt Informatique ARCHI 1

REVISION ARCHI 1
(ce travail a été donné dans un examen)

Turbo Assembler Version 3.2 02/01/21 12:17:05 Page 1 exemple.ASM

Langage machine Langage Assembleur


(généré par le turbo Assembleur) (code source)

1 0000 mes_donnees SEGMENT


2 =0080 taille equ 128
3 0000 80*(????) tab dw taille dup(?)
4 0100 00 compt db 0
5 0101 80*(????) new_tab dw taille dup(?)
6 0201 mes_donnees ENDS
7
8 0000 mon_code SEGMENT
9 assume cs: mon_code ,ds: mes_donnees Cycles Machine
10 (pour la question (f))
4
11 0000 B8 00 00 start: mov ax , mes_donnees
2
12 0003 8E D8 mov ds , ax
4
13 0005 BE 00 00 mov si ,0
4
14 0008 B9 80 00 mov cx , length tab
8+EA=8+9=17
15 000B 8B 84 00 00 encore: mov ax , tab[si]
4
16 000F 3D 00 00 cmp ax , 0
16/4
17 0012 7D 06 jge positif
3
18 0014 F7 D8 neg ax
15+EA=15+6=21
19 0016 FE 06 00 01 inc compt
9+EA+4=9+9+4=22
20 001A 89 84 01 01 positif: mov new_tab[si] , ax
4
21 001E 83 C6 02 add si , 2
17/5
22 0021 E2 E8 loop encore
4
23 0023 B8 00 4C mov ax , 4c00h
51
24 0026 CD 21 int 21h
25 0028 mon_code ENDS
26 END start

Questions :

a) Donner la taille de l’espace réellement occupé par le segment mes_donnees réponse : 513 bytes
b) Quelle est l’adresse effective (l’offset) de la variable new_tab ? réponse : 0101H
c) Calculer l’espace réellement utilisé par le code segment réponse : 40 bytes
d) Générer le code machine de mov new_tab[si] , ax et mov ax , 4c00h
réponse : code machine de mov new_tab[si] , ax 89 84 01 01
code machine de mov ax , 4c00h B8 00 4C

e) Que va contenir la variable compt après l’exécution du programme ?

Réponse: le nombre d’éléments négatifs dans le tableau tab.

f) Si on suppose que la fréquence du microprocesseur est 1GHz et qu’il y’a 50 éléments


négatifs dans le tableau tab, calculer en µsec le temps d’exécution du programme.

Réponse:
#cycles machine = 4+2+4+4+128x(17+4+22+4+17)-12+50x(4+3+21)+78x16+4+51=10897

Rappel : 1GHz = 10 9 Hz  1 cycle machine = 1 ns = 0,001 µs

Tex = #cycles machine x 1cycle machine = 10897 x 0,001µs = 10,897 µs

_________________________________
Mr AYACHE Bureau 225
e.mail du cours : archi_2018@yahoo.com

Vous aimerez peut-être aussi