print "
";

ASM testul 016



1.

Macroinstructiunea pentru salvarea registrilor generali este:
savereg MACRO
PUSH AX
PUSH BX
PUSH CX
PUSH DX
ENDM

2.

Macroinstructiunea pentru salvarea registrilor de index si de baza este:
savereg MACRO
PUSH SI
PUSH DI
PUSH BX
PUSH BP
ENDM


3.

Macroinstructiunea pentru initializarea cu o valoare specivicata a registrilor generali este:
initreg MACRO variab
PUSH AX,variab
PUSH BX,AX
PUSH CX,AX
PUSH DX,AX
ENDM


4.

Macroinstructiunea pentru initializarea cu zero a registrilor generali este:
zeroreg MACRO
XOR AX,AX
XOR BX,BX
XOR CX,CX
XOR DX,DX
ENDM


5.

Macroinstructiunea pentru adunarea a doua numere a si b cu memorarea rezultatului in variabila numita total este:
adunare2 MACRO a,b,total
MOV AX,a
ADD AX,b
MOV total,AX
ENDM

6.

Macroinstructiunea pentru adunarea a patru numere folosind o macroinstructiune de adunare a doua numere definita prin:
adunare2 MACRO a,b,total
MOV AX,a
ADD AX,b
MOV total,AX
ENDM
este
aduna4 MACRO a,b,c,d,total
aduna2 a,b,total
aduna2 total,c,total
aduna2 total,d,total
ENDM

7.

Macroinstructiunea de adunare a doua numere intregi definite pe cate 2 cuvinte este:
aduna2lg4 MACRO a,b,total
MOV AX,a
ADD AX,b
MOV DX, a+2
ADC DX,B+2
MOV total,AX
MOV total+2,DX
ENDM

8.

Pentru evaluarea expresiei:
e=minim{a,b}+minim{a,b,c}+minim{a,b,c,d}
daca exista macrodefinitia de alegere a minimului dintre doua numere, este necesar sa se scrie secventa:
minim2 a,b,temp1
minim2 temp1,c,temp3
minim2 temp3,d,temp4
mov ax,temp1
add ax,temp2
add ax,temp3
add ax,temp4
mov e,ax

9.

Macroinstructiunea care insumeaza elementele sirului x1,x2,x3,...,xn in variabila total este:

10.

Macoinstructiunile de salvare si de restaurare a registrilor de lucru sunt:
savereg MACRO PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
ENDM
si respectiv
restreg MACRO POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
ENDM

11.

Macroinstructiunea pentru adunarea a trei numere a, b si c cu memorarea rezultatului in variabila numita total este:
adunare3 MACRO a,b,c,total
MOV AX,a
ADD AX,b
ADD AX,c
MOV total,AX
ENDM


12.

Macroinstructiunea pentru initializarea unui sir cu caracterul '*' este:

13.

Macroinstructiunea pentru afisarea unui sir de caractere este:

14.

Macroinstructiunea care numarain contorul
contor DW 0
aparitiile in sirul
SIR DB 'abcdssmnoprsssdsdsesisaskslsxs'
a unui caracter specificat prin variabila CHAR DB 's' este:

15.

Macroinstructiunea pentru restaurarea registrilor generali este:
restreg MACRO
POP AX
POP BX
POP CX
POP DX
ENDM


16.

Pentru evaluarea expresiei:
e=minim{a,b}+minim{a,b,c}+minim{a,b,c,d}
daca exista macrodefinitia de alegere a minimului dintre trei numere, este necesar sa se scrie secventa:
xor ax,ax
minim3 a,b,b,bx
add ax,bx
minim3 a,b,c,bx
add ax,bx
minim3 bx,d,d,bx
add ax,bx
mov e,ax


17.

Macroinstructiunea de initializare a tuturor registrilor cu o valoare data este:

18.

Macroinstructiunea pentru adunarea a patru numere a, b, c si d cu memorarea rezultatului in variabila numita total este:
adunare2 MACRO a,b,c,d,total
MOV AX,a
ADD AX,b
ADD AX,c
ADD AX,d
MOV total,AX
ENDM


19.

Macroinstructiunea pentru interschimbul variabilelor a si b este:
interschimb MACRO a,b MOV AX,a
MOV BX,b
MOV a,BX
MOV b,AX
ENDM

20.

Macroinstructiunea pentru copierea sirului sir1 de lungime lg in sir2 este:
copystring MACRO sir1,sir2,lg
MOV SI,offset sir1
MOV DI,offset sir2
MOV Cx,lg
REP MOVSB ENDM

21.

Pentru evaluarea expresiei:
e=minim{a,b}+minim{a,b,c}+minim{a,b,c,d}
daca exista macrodefinitia de alegere a minimului dintre patru numere, este necesar sa se scrie secventa:
minim4 a,b,b,b,temp1
minim2 a,b,c,c,temp2
minim2 a,b,c,d,temp3
mov ax,temp1
add ax,temp2
add ax,temp3
mov e,ax



22.

Macroinstructiunea pentru copierea sirului sir1 de lungime lg in sir2 si in sir3 este:
copystring MACRO sir1,sir2,sir3,lg
MOV SI,offset sir1
MOV DI,offset sir2
MOV Cx,lg
REP MOVSB
MOV SI,offset sir1
MOV DI,offset sir3
MOV Cx,lg
REP MOVSB
ENDM


23.

Macroinstructiunea care verifica daca elementele sirului x1,x2,x3,...,xn sunt dispuse in ordine crescatoare este:



24.

Macroinstructiunea pentru restaurarea registrilor index si a registrilor de baza este:
restreg MACRO
POP SI
POP DI
POP BX
POP BP
ENDM



25.

Macroinstructiunea pentru stergerea ecranului este:

26.

Macroinstructiunea pentru evaluarea insumarea elementelor unei matrice presupune salvarea de registri AX, SI, BX, CX astfel:

27.

Macroinstructiunea pentru ridicarea unui numar la o putere intreaga este:

28.

Macroinstructiunea pentru sortarea crescatoare a sirului x1,x2,x3,...,xn este:

29.

Macroinstructiunea pentru impartirea a doua numere a(deampartit) si b (impartitor) cu stabilirea unui cat , a unui rest si a unei informatii care arata daca s-a efectuat corect impartirea vb:=1, daca impartirea nu s-a efectuat pentru ca impartitorul b este nul, vb:=0 sau pentru ca atat deampartitul cat si impartitorul au fost egali cu zero, vb:=1, are urmatoarea forma:

30.

Macroinstructiunea pentru concatenarea sirului x de n componente cu sirul y de m componente rezultand sirul z de n+m componente este: