print "
";

ASM testul 013



1.

Dispunerea parametrilor p1, p2, p3, p4,p5,p6,p7,p8,p9
pe stiva in vedera apelarii unei proceduri in care acestia sunt folositi se realizeaza prin secventa: mov ax,offset p1
push ax
mov ax,offset p2
push ax
mov ax,offset p3
push ax
mov ax,offset p4
push ax
mov ax,offset p5
push ax
mov ax,offset p6
push ax
mov ax,offset p7
push ax
mov ax,offset p8
push ax
mov ax,offset p9
push ax

2.

Instructiunea call aduna realizeaza:
- diminuareea registrului SP cu 2
- memorarea pe stiva a registrului IP
- salt catre prima instructiune executabila din procedura aduna
daca procedura se afla in acelasi segment cu programul apelator

3.

Instructiunea call aduna realizeaza:
- diminuarea registrului SP cu 2
- memorarea registrului CS pe stiva - diminuareea registrului SP cu 2
- memorarea pe stiva a registrului IP
- salt catre prima instructiune executabila din procedura aduna
daca procedura se afla in alt segment decat programul apelator


4.

Instructiunea RET 18 are rolul:
- sa incrementeze SP cu 18

5.

Instructiunea RET efectueaza:
- copierea de pe stiva a registrului IP
- incrementarea cu 2 a lui SP
- efectuarea saltului spre instructiunea urmatoare lui CALL care a determinat apelarea procedurii din care se face revenirea
daca procedura si programul apelator se afla in acelasi segment

6.

Instructiunea RET efectueaza:
- copierea de pe stiva a registrului IP
- incrementeaza cu 2 SP
- incarca de pe stiva CS
- incrementarea cu 2 a lui SP
- efectuarea saltului spre instructiunea urmatoare lui CALL care a determinat apelarea procedurii din care se face revenirea
daca procedura este in alt segment decat programul apelator


7.

Instructiunea
push BP
este necesara pentru ca: - permite referirea cu deplasari constante a parametrilor

8.

Instructiunea
pop BP:
- restaureaza registrul BP
- restaureaza registrul BP salvat la inceputul procedurii

9.

Instructiunile
PUSH BP
MOV BP,SP
permit:
- lucru cu deplasari nemodificate pentru a referi parametri

10.

Instructiunile care refera parametri transmisi pe stiva:
- utilizeaza adresare indirecta
- au forma cod_instructiune registru,[BP+4+x]

11.

InstInstructiunile care refera parametri transmisi pe stiva:
- utilizeaza adresare indirecta
- au forma cod_instructiune [BP+4+x], registru

ructiunea

12.

Pentru evaluarea expresiei
e=a-b-c-d-g-f-h
instructiunile care pregatesc apelul procedurii
CALL scade
sunt definite in secventa:
MOV AX, offset e
PUSH AX
MOV AX, offset a
PUSH AX
MOV AX, offset b
PUSH AX
MOV AX, offset c
PUSH AX
MOV AX, offset d
PUSH AX
MOV AX, offset g
PUSH AX
MOV AX, offset f
PUSH AX
MOV AX, offset h
PUSH AX
CALL scade

13.

Pentru evaluarea expresiei
e=a-b-c-d-g-f-h
instructiunile care pregatesc apelul procedurii
CALL scade
sunt definite in secventa:
MOV AX, offset a
PUSH AX
MOV AX, offset b
PUSH AX
MOV AX, offset c
PUSH AX
MOV AX, offset d
PUSH AX
MOV AX, offset g
PUSH AX
MOV AX, offset f
PUSH AX
MOV AX, offset h
PUSH AX
MOV AX, offset e
PUSH AX
CALL scade
-nu permite golirea stivei pentru a referi rezultatul de pe stiva.



14.

Instructiunile:
MOV CX,7
et:NOP
CALL P_PROC[SI]
LOOP et
presupun:
- definirea unui vector de pointeri spre proceduri P_PROC cu cel putin 7 componente initializate
- initializarea cu zero a registrului SI
- incrementarea cu 2 a registrului SI pupa instructiunea CALL

15.

Procedura pentru evaluarea expresiei
e=a+b+c
este:

16.

Procedura pentru evaluarea expresiei
e=a-b+c
este:


17.

Procedura pentru evaluarea expresiei
e=a*b*c
este:


18.

Procedura pentru evaluarea expresiei
e=a+b/c
este:


19.

Procedura pentru evaluarea expresiei
e=a+b+c
este:


20.

Procedura pentru evaluarea expresiei
e=a+rest(b/c)
este:


21.

Procedura pentru evaluarea expresiei
e=minim{a,b,c}
este:


22.

Procedura pentru evaluarea expresiei
e=maxim{a,b,c}
este:



23.

Procedura pentru evaluarea expresiei
s=x1+x2+x3+.....+xn
este:



24.

Procedura pentru evaluarea expresiei
s=|x1|+|x2|+|x3|+.....+|xn|
este:




25.

Procedura pentru evaluarea expresiilor
s1=x1+x2+x3+.....+xn
daca valorile x1,x2,x3,....,xn sunt pozitice, iar
s2=x1+x2+x3+.....+xn
daca aceste valori sunt negative
este:




26.

Procedura pentru numararea elementelor pozitive, a elementelor negative si a elementelor nule dintr-o matrice este:


27.

Secventa de instructiuni care precede apelarea procedurii pentru numararea elementelor pozitive, a elementelor negative si a elementelor nule dintr-o matrice este:



28.

Procedura pentru numararea elementelor pozitive, a elementelor negative si a elementelor nule dintr-un masiv unidimensional este:




29.

Secventa de instructiuni care precede apelarea procedurii pentru numararea elementelor pozitive, a elementelor negative si a elementelor nule dintr-un masiv unidimensional este:



30.

Programul care evalueaza expresia:
e= min{a,b} +min{a,b}+min{a,b,c}+min{a,b,c,d}+ min{a,b,c,d,g}
referind secvente incluse in programul principal, nu proceduri, este: