Vous êtes sur la page 1sur 2

I.

Efectuai o analiz asupra conceptului de depire la nivelul opera iilor


aritmetic scond apoi n eviden cum reacioneaz arhitectura 80x86 la apari ia
unei astfel de situaii n cazul fiecruie dintre cele 4 tipuri de opera ii aritmetice
de baz: adunare, scdere, nmulire i mprire. Care sunt situaiile considerate
de ctre limbajul de asamblare depiri i cum reacioneaz procesorul?
Prezentai pentru fiecare din cele 4 cazuri cte 1-2 exemple de cod surs adecvate
i sugestive pentru apariia unor astfel de situaii, explica i care este reac ia
sistemului de calcul n fiecare caz i ce poate face programatorul ulterior
apariiei unei astfel de situaii la nivelul programului.
II. Se d un ir de valori numerice ntregi reprezentate pe dublucuvinte. S se
tipreasc pe ecran stringul poziiilor dublucuvintelor din irul de dublucuvinte
care au cel de-al doilea octet al reprezentrii n baza 16 strict negativ, precum i
suma acestor octei n baza 10. Explicai algoritmul, justifica i i comenta i
corespunztor codul surs. Insistai n explicaii asupra aspectelor dificile sau
problematice implicate n soluia prezentat.
Ex: Se d irul de dublucuvinte: sir dd 12 A63478h, 12345678h, 1A2B3C4Dh,
FEDC9876h
Cel de-al doilea octet al reprezentrii n baza 16 este: A6h, 34h, 2Bh i respectiv
DCh. Valorile lor numerice corespunztoare sunt: -90, 52, 43 i respectiv -36, deci
dublucuvintele ce au cel de-al doilea octet al reprezentrii n baza 16 strict
negativ sunt pe poziiile 1 i 4 n irul dat, aadar trebuie afi at pe ecran stringul
14, precum i suma celor 2 octei n baza 10 (-126).
IV. Definii i explicai semnificaia i importana noiunilor de cod de apel, cod
de intrare i cod de ieire n contextul general al limbajelor de programare.
Analizai cum se reflect acestea la nivelul limbajului de asamblare 80x86 i
respectiv la nivelul sitvei de execuie n cadrul rulrii unui program.
Timp
de
lucru:
Punctaj: I - 2p; II - 3p; III - 2p; IV - 2p; (+1p din oficiu)

2h

30'

III. Explicai i justificai efectul fiecrei linii surs (n msura n care o


considerai corect sintactic - dac nu, explicai de ce este incorect i trece i mai
departe...), artnd cum funcioneaz exact fiecare instruciune i care va fi
coninutul regitrilor implicai, n fiecare dintre bazele de numera i 2, 10 i 16 ( i
n interpretarea cu semn i n cea fr semn).

x db -128,128, -1
y dd -128
z dw 128
...
mov ax,word ptr x+1
not ah
neg al
mov bx, word ptr x+2
xchg bh,bl
neg bx
cbw
xor ax,bx
xor bx,ax
sub ax,bx
les di,y+1
inc di
push ds
pop es
mov ch,es:[di]
inc di
mov dx,es:[di]
mov ax,-129
cbw
and ax,-1
cwd
shl ax,2
sar al,2
or ax,dx
div al
Timp
de
lucru:
Punctaj: I - 2p; II - 3p; III - 2p; IV - 2p; (+1p din oficiu)

2h

30'

.Problema: Erau definite niste dwords. Unul din bytes de la fiecare word trebuia pus intr-un string si daca era negativ
trebuia afisat in binar

Vous aimerez peut-être aussi