Bitul 5 initial | Bitul 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
| | |