print "
";

ASM testul 017



1.

Macrodefinitia pentru transformarea literelor mici in litere mari din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
upcase MACRO SURSA,LG
LOCAL et_1,et_2
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'a'
JB et_2
CMP byte ptr[SI],'z'
JA et_2
AND byte ptr[SI],11011111b
et_2: INC SI
LOOP et_1
ENDM

2.

Instructiunea LEA AX,234
a) incarca in registrul AX adresa unde a fost memorata constanta generata 234
b) este incorecta
c)este incorecta pentru ca al doilea operand trebuie sa fie numele unei variabile
d)este incorecta pentru ca nu utilizeaza modul de adresare imediat
e)este echivalenta cu:
MOV alfa,234
LEA AX,alfa

3.

Instructiunea LEA AX,234
a) incarca in registrul AX adresa unde a fost memorata constanta generata 234
b) este incorecta
c)este incorecta pentru ca al doilea operand trebuie sa fie numele unei variabile, lucru care se obtine punand inaintea lui 2 din 234 litera a
d)este incorecta pentru ca nu utilizeaza modul de adresare imediat
e)este echivalenta cu:
MOV alfa,234
LEA AX,alfa

4.

Instructiunea LEA AX,234
a) incarca in registrul AX adresa unde a fost memorata constanta generata 234
b) este incorecta
c)este incorecta pentru ca al doilea operand trebuie sa fie numele unei variabile, lucru care se obtine punand inaintea lui 2 din 234 litera a si definind in mod corespunzator variabila a234 DB ? pentru ca adresa constantei imediate este deja cunoscuta si este aceeasi
d)este incorecta pentru ca nu utilizeaza modul de adresare imediat
e)este echivalenta cu:
MOV alfa,234
LEA AX,alfa


5.

Macrodefinitia pentru transformarea literelor mari in litere micii din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
lowcase MACRO SURSA,LG
LOCAL et_1,et_2
PUSH SI PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'A'
JB et_2
CMP byte ptr[SI],'Z'
JA et_2
AND byte ptr[SI],11011111b
et_2: INC SI
LOOP et_1
POP CX
POP SI
ENDM
- este incorecta intrucat masca are rolul de a pune 0 pe bitul 5, ceea ce nu conduce la modificari intrucat acest bit este zero datorita faptului ca prin instructiunile JB si JA sunt selectate caracterele care au 0 pe acest bit

6.

Instructiunea INC a
a)incrementeaza a cu o unitate
b)incrementeaza variabila a cu o unitate
c)incrementeaza variabila a definita pe 2 baiti cu o unitate
d)incrementeaza a definita pe un bait cu o unitate
e)incrementeaza a cu o unitate daca este definita pe doua cuvinte fiind necesara o instructiune ADC a+2,0

7.

Instructiunea DEC a
a)decrementeaza a cu o unitate
b)decrementeaza variabila a cu o unitate
c)decrementeaza variabila a definita pe 2 baiti cu o unitate
d)decrementeaza a definita pe un bait cu o unitate
e)decrementeaza a cu o unitate daca este definita pe doua cuvinte fiind necesara o instructiune SBC a+2,0


8.

Instructiunile INC a si INC a
a)incrementeaza a cu 2 unitati
b)incrementeaza variabila a cu o unitate de doua ori
c)incrementeaza variabila a definita pe 2 baiti cu o unitate de doua ori
d)incrementeaza a definita pe un bait cu doua unitati
e)incrementeaza a cu o unitate si cu inca o unitate daca este definita pe doua cuvinte fiind necesara o instructiune ADC a+2,0


9.

Instructiunile DEC b DEC a
a)decrementeaza a cu o unitate
b)decrementeaza variabilele a si b cu cate o unitate
c)decrementeaza variabila a definita pe 2 baiti cu o unitate, la fel si b
d)decrementeaza b definita pe un bait cu o unitate, la fel si a
e)decrementeaza a cu o unitate daca este definita pe doua cuvinte fiind necesara o instructiune SBC a+2,0

si inca o instructiune


10.

Instructiunea MOV 0,0
a)nu executa nimic
b)sintactic este incorecta
c)initializeaza cu zero registrul AX daca va fi modificata in MOV AX,0
d) este de tip imediat - imediat ca mod de adresare
e)necesita 4 cicluri masina ca orice instructiune registru-registru sau registru-imediat

11.

Macrodefinitia pentru transformarea literelor mari in litere micii din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
lowcase MACRO SURSA,LG
LOCAL et_1,et_2
PUSH SI PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'A'
JB et_2
CMP byte ptr[SI],'Z'
JA et_2
OR byte ptr[SI],00100000b
et_2: INC SI
LOOP et_1
POP CX
POP SI
ENDM


12.

Instructiunea LOOPZ:
a)testeaza saca CX==0
b)testeaza daca ZF++1
c)executa repetarea unei secvente atat timp cat CX>0 si ZF==1
d)este o ciclare conditionata
e)executa repetarea unei secvente atat timp cat CX>0 si ZF==1 si nu pozitioneaza indicatori de conditie

13.

Instructiunea ROR op1,op2:
a) este complementara instructiunii ROL
b)executa rotirea la dreapta a continutului operandului op1 cu numarul de opzitii specificat
c)executa rotirea la dreapta a continutului operandului op1 cu numarul de opzitii specificat in operandul op2
d)operandul op2 trebuie sa fie un numar intreg pozitiv mai mic decat 5 sau registrul CL

14.

Instructiunea LOOPNZ:
a)testeaza saca CX==0
b)testeaza daca ZF++1
c)executa repetarea unei secvente atat timp cat CX>0 si ZF==0
d)este o ciclare conditionata
e)executa repetarea unei secvente atat timp cat CX>0 si ZF==0 si nu pozitioneaza indicatori de conditie

15.

Macrodefinitia pentru transformarea literelor mici in litere mari din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
upcase MACRO SURSA,LG
LOCAL et_1,et_2
PUSH SI PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'a'
JB et_2
CMP byte ptr[SI],'z'
JA et_2
AND byte ptr[SI],11011111b
et_2: INC SI
LOOP et_1
POP CX
POP SI
ENDM

16.

Instructiunea ROL op1,op2:
a) este complementara instructiunii ROR
b)executa rotirea la stanga a continutului operandului op1 cu numarul de opzitii specificat
c)executa rotirea la stanga a continutului operandului op1 cu numarul de opzitii specificat in operandul op2
d)operandul op2 trebuie sa fie un numar intreg pozitiv mai mic decat 5 sau registrul CL


17.

Instructiunea SHR op1,op2:
a) este complementara instructiunii SHL
b)executa deplasarea la dreapta a continutului operandului op1 cu numarul de opzitii specificat
c)executa deplasarea la dreapta a continutului operandului op1 cu numarul de opzitii specificat in operandul op2
d)operandul op2 trebuie sa fie un numar intreg pozitiv mai mic decat 5 sau registrul CL


18.

Macrodefinitia care transforma litera mica in litera mare si litera mare in litera mica este:
- acea macrodefinitie care pune 1 pe bitl 5 daca el era 0 sau pune 0 pe bitul 5 daca el era 1
Tabela de adevar pentru bitul 5 este:
Bitul 5 initialBitul 5 din masca Bitul 5 transformat 0 1 1 1 1 0 Ceea ce corespunde operatiei SAU EXCLUSIV
inverse MACRO SURSA,LG
LOCAL et_1,et_2
PUSH AX
PUSH SI
PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'a'
JB et_2
CMP byte ptr[SI],'z'
JA et_2
MOV AX,byte ptr [SI]
AND AX,00100000b
XOR AX,00100000b
OR byte ptr[SI],AX
et_2: INC SI
LOOP et_1
POP CX
POP SI
POP AX
ENDM

19.

Instructiunea JMP:
a)nu se eticheteaz
b) efectueaza salt neconditionat in interiorul unui segment
c) executa salt neconditionat in exteriorul segmentului
d) se executa diferentiat dupa cum se aduna sau se scade mai mult decat 127 la IP
e)executa saltul la instructiunea cu deplasarea aflata in registrul general DX, daca are forma JMP DX

20.

Instructiunea JCXZ:
a) executa un salt conditionat fara sa pozitioneze indicatorii de conditie
b)testeaza registrul CX
c)testeaza CX si daca CX==0 executa salt la instructiunea cu eticheta specificata in JCXZ
d)executa salt scurt daca CX==0, fara a pozitiona indicatorii de conditie
e)executa salt intersegment daca CX==) si daca are forma
JCXZ DWORD PTR et_3

21.

Instructiunea SHL op1,op2:
a) este complementara instructiunii SHR
b)executa deplasarea la stanga a continutului operandului op1 cu numarul de opzitii specificat
c)executa deplasarea la stanga a continutului operandului op1 cu numarul de opzitii specificat in operandul op2
d)operandul op2 trebuie sa fie un numar intreg pozitiv mai mic decat 5 sau registrul CL


22.

Macrodefinitia pentru transformarea literelor mici in litere mari din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
upcase MACRO SURSA,LG
LOCAL et_1,et_2
PUSH SI PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'a'
JB et_2
CMP byte ptr[SI],'z'
JA et_2
AND byte ptr[SI],11011111b
et_2: INC SI
LOOP et_1
POP SI
POP CX
ENDM
- este incorecta pentru ca restaurarea de pe stiva nu respecta regula mentinerii in registre a continutului avut anterior lucrului in macrodefinitie


23.

Instructiunea PUSHF:
a)refera stiva cu SS:SP
b)stocheaza pe stiva doi baiti
c)memoreaza pe stiva indicatorii de conditie si decrementeaza cu 2 registrul SP
d)nu pozitioneaza indicatorii de conditie
e)utilizeaza POPF pentru restaurare indicatori de conditie

24.

Instructiunea XCHG:
a) interschimba operanzi
b)nu utilizeaza modul de adresare imediat
c) efectueaza acelasi lucru ca macrodefinitia:
prel MACRO sursa,desti
MOV AX,sursa
MOV BX,desti
MOV desti,AX
MOV sursa,BX
ENDM
d)efectueaza acelasi lucru ca macrodefinitia:
prel MACRO sursa,desti
PUSHA
MOV AX,sursa
MOV BX,desti
MOV desti,AX
MOV sursa,BX
POPA
ENDM
e)efectueaza acelasi lucru ca macrodefinitia:
prel MACRO sursa,desti
PUSHA
MOV AL,sursa
MOV BL,desti
MOV desti,AL
MOV sursa,BL
POPA
ENDM

25.

Macrodefinitia pentru transformarea literelor mici in litere mari din sirul de caractere stocat in operandul SURSA avand lungimea LG baiti este:
upcase MACRO SURSA,LG
LOCAL et_1,et_2
PUSH SI PUSH CX
mov,CX,LG
MOV SI,offset SURSA
et_1: CMP byte ptr[SI],'a'
JA et_2
CMP byte ptr[SI],'z'
JB et_2
AND byte ptr[SI],11011111b
et_2: INC SI
LOOP et_1
POP CX
POP SI
ENDM
- este incorecta intrucat instructiunile de salt conditionat nu selecteaza literele mici pentru a le transforma in litere mari

26.

Instructiunea ADD AX,BX:
a) este echivalenta cu MOV BX,AX
b) este echivalenta cu MOV AL,BL si MOV AH,BH
c) este instructiune cu adresare de tip registru-registru
d)initializeaza un registru
e) nu pozitioneaza indicatorii de conditie

27.

Instructiunile:
sir_1 DB '123456789987654321'
lungime_1 EQU $-sir_1
sir_2 DB 'abcdefghijklmnoprs'
lungime_2 EQU $-sir_1
sir_3 DB '123456789ABCDEFGHI'
lungime_3 EQU $-sir_1
a)aloca trei zone de memorie de cate 2 baiti fiecare pentru variabilele lungime_1, lungime_2 si lungime_3
b)aloca 18 baiti pentru primul sir, mai aloca inca 18 baiti pentru al doilea sir si tot atatea pentru ultimul sir
c) pune in corespondenta lungime_1, lungime_2 si lungime_3 cu numere care asa cum sunt calculate corespund lungimilor celor trei siruri
d) defineste trei constante simbolice si aloca 54 de baiti
e)modifica valoarea contorului de locatii referit prin $

28.

Instructiunile:
stiva SEGMENT STACK
DB 256 DUP ('ALFA')
stiva ENDS
a) defineste un segment stiva
b) aloca 256*4 baiti pe un segment de stiva
c) aloca 1024 baiti pe care ii initializeaza pentru segmentul de stiva
d) baiti alocati si initializati nu se modifica prin instructiuni PUSH sau POP
e) segmentul stiva are 1024 cuvinte intrucat pe stiva se opereaza numai cu cuvinte de catre instructiunile PUSH si POP

29.

Instructiunea AND AX,0FFFFh si instructiunea AND AL,44h au in comun:
a)ocupa un singur bait
b)pozitioneaza indicatorii de conditie OF,SF,ZF,AF,PF,CF
c)efectueaza aceeasi operatie
d)lucreaza pe siruri de biti cu lungimi specificate, 16, respectiv, 8
e)sunt de modul de adresare imediat, si ocupa 2 baiti prima si un bait a doua instructiune


30.

Instructiunea STD
a) afecteaza numai indicatorii de conditie CF si CD
b)nu modifica indicatorii de conditie
c) nu are operanzi intrucat operandul implicit este registrul AX
d)pozitioneaza numai un indicator de conditie
e)daca este folosita in instructiuni cu siruri de caractere conduce la decrementarea registrilor SI si DI