Documente Academic
Documente Profesional
Documente Cultură
Compilatorul este programul care traduce instruciunile unui limbaj de programare de nivel nalt n limbaj main,
de nivel jos. Unei instruciuni dintr-un limbaj nalt i corespunde un ir de instruciuni n limbaj main. Trecerea
aceasta se face prin intermediul compilatorului, care n procesul de compilare genereaz fiierul executabil din
codul surs, care poate fi rulat dup compilare.
2 Explicai noiunea interpretor
Interpretorul este programul care traduce instruciunile limbajului de programare de nivel nalt n cele de limbaj
main. Fiecare set de instruciuni tradus este executat imediat, ceea ce diminueaz viteza de execuie. Astfel nct
ntregul set de instruciuni este executat deodat, programul executabil nu este creat.
3 Explicai noiunea main virtual.
O main virtual este un calculator (ipotetic) al crui cod main corespunde unui limbaj de programare de nivel
nalt. Un astfel de calculator poate executa direct instruciunile limbajului fr s fie nevoie de translarea acestuia
n limbaj main prin intermediul compilatoarelor sau interpretoarelor. Implementarea unei maini virtuale este
destul de costisitoare.
4 Explicai diferena ntre compilare i interpretare.
Compilarea reprezint procesul de translare a codului surs a unui program scris ntr-un limbaj de nivel nalt n
cod main, specific calculatorului. n urma compilrii se creeaz fiierul executabil, care poate fi rulat pe
calculator. Astfel tot setul de instruciuni main este stocat ntr-un fiier executabil, care trebuie rulat pentru ca
instruciunile s fie executate.
Interpretarea este un proces asemntor compilrii, doar c n cazul interpretrii setul de instruciuni generat dintr-
o instruciune a limbajului de nivel nalt este executat deodat, fr crearea programului executabil.
5 Destinaia registrelor generale (AX, BX, CX, DX, SP, BP, SI, DI).
Registrele generale se divizeaz n registrele de date (AX,BX,CX,DX) i registre de pointeri i indeci
(SP,BP,SI,DI). La nivel general sunt registre utilizate pentru stocarea temporar a unor date, dar pot fi utilizate i
n mod specific fiecreia dintre ele. Toate registrele generale sunt de 16 bii, iar cele de date pot fi utilizate ca
registre de 8 bii fiind divizate n 2 pri (High i Low). Astfel AX=AH+AL, respectiv BX=BH+BL, CX=CH+CL,
DX=DH+DL.
AX registru acumulator, utilizat pentru operaii aritmetice sau diferite operaii I/O
BX registru de baz general, destinat pstrrii adresei memoriei, utilizate de ctre program
CX registru numrtor, folosit pentru efectuarea operaiilor repetitive
DX registru de date, ntrebuinat pentru stocarea numrului port pentru diferite operaii de intrare/ieire
SP registru pointer de stiv, utilizat pentru stocarea adresei stivei
BP registru pointer de baz, folosit de regul ca pointer spre segmentul de stiv
SI registru index al sursei, Sunt folosite pentru iruri de caractere sau ca pointeri spre segmentul
DI registru index al destinaiei. de date
6 Destinaia registrelor de segment
Exist 4 registre segment:
CS registru de segment de cod, care indic adresa memoriei, care conine codul n curs de pr.
SS registru de segment de stiv, care indic adresa stivei utilizate curent
DS registru de segment de date, care conine de obicei variabile
ES registru de segment suplimentar, care indic segmentul suplimentar de memorie
n timpul rulrii unui program, maxim 4 segmente de memorie pot fi active simultan. Registrele de segment
corespund acestor zone principale ale programului.
7 Destinaia registrului Flags
Registrul flags este registrul, care indic starea microprocesorului n timpul rulrii programului. Este un registru de
16 bii, fiecare dintre ei indicnd o anumit stare, conform creia microprocesorul ia decizii.
CF indic generarea transportului
PF indic paritatea
ZF indicator al zero-ului
SF indicator al semnului (daca bitul are valoarea 1 rezultatul e negativ)
TF indicator de analiz (execut pasul, dac rezultatul acestuia = 1)
DF indicator de direcie (incrementeaz sau decrementeaz registrele de index n cazul cnd se se lucreaz
cu iruri de caractere)
OF indicator de depire
8 Destinaia registrului IP
Registrul indicator de instruciune (IP) este un registru, care indic deplasarea (OFFSET-ul) urmtoarei
instruciuni, care trebuie executate. Astfel, microprocesorul adun adresa segmentului de cod 16 cu coninutul
registrului pointer de instruciune pentru a afla adresa urmtoarei instruciuni.
9 Ce indic perechea de registre (CS:IP)?
Perechea CS:IP indic totdeauna adresa urmtoarei instruciuni, care trebuie executat.
10 Ce indic perechea de registre (SS:SP)?
Perechea SS:SP indic adresa vrfului stivei.
11 Formarea adresei fizice.
Pentru a obine adresa fizic a unui bloc de memorie, microprocesorul adun 16 bii ai registrului pointer de
instruciune cu adresa de nceput (numrul) a segmentului de memorie nmulit la 16. Adresa fizic astfel obinut
va reprezenta un numr pe 20 bii.
12 Utiliznd directive simplificate de segmentare, scriei un program ce definete date pe 16, 64 i 80
bii.
.MODEL SMALL
.DATA
VAR1 DW 1
VAR2 DQ 71
VAR3 DT 3
.CODE
START:
MOV AX,@DATA
MOV DS,AX
MOV AX,4C00H
INT 21H
END START
13 Utiliznd directive de definire complet a segmentelor, scriei un program ce definete date pe 8, 32
bii n format BCD.
SEG SEGMENT
VAR0 DD 1234; 32 bii
VAR1 DB 16h ; impachetat
VAR2 DB 01h,06h ; despachetat
SEG ENDS
SEG2 SEGMENT
ASSUME CS.SEG2,DS.SEG
START:
MOV AX,SEG
MOV DS,AX
MOV AX,4C00H
INT 21H
SEG2 ENDS
END START
14 Numii componentele funcionale ale unui calculator (hardware).
Din punct de vedere hardware calculatorul are 3 componente funcionale, legate prin intermediul magistralelor.
Unitatea central de prelucrare, care este constituit din microprocesor. Acesta prelucreaz datele i
controleaz activitatea ntregului sistem.
Memoria este a doua component funcional a unui calculator, care reprezint o secven de locaii
destinate pstrrii informaiei. Fiecare locaie este definit prin 2 entiti informaionale: coninutul
reprezint o niruire de cifre binare, 0 sau 1, a cror numr depinde de modul n care microprocesorul
organizeaz informaia n memorie. Mrimea unei locaii este exprimat n bii (de regul 8 sau 16). Adresa
numrul de ordine a locaiei, care permite accesul la informaia stocat n partea dat a memoriei. Exist
2 noiuni referitor la memorie: Harta memoriei reprezint totalitatea locaiilor, pe care microprocesorul le
poate accesa; Pagini sau Segmente sunt diviziuni logice, care depinde de modul de organizare a
informaiei de ctre microprocesor.
Dispozitivele de intrare/ieire reprezint legtura ntre calculator i lumea extern. O unitate elementar
de conversaie cu lumea extern poart numele de port de intrare/ieire, care in esen sunt locaii de
memorie, care conin informaie alctuit din operanzi, date. Exist de asemenea i o hart a porturilor,
care poate s nu fac parte din harta memoriei. Deosebirea ntre memorie i porturi este faptul c porturile
asigur legtura fizic dintre microprocesor i exterior.
15. Explicai noiunea de magistral
Magistrala este unitatea care asigur legtura ntre componentele hardware ale calculatorului. n esen, magistrala
este un set de fire, care n dependen de tipul de date, pe care transport, se divizeaz n: magistral de date
(bidir.), care permite circulaia bidirecional a datelor, magistral de adrese (unidir.), care permite
microprocesorului s localizeze locaiile de memorie sau de dispozitive I/O, magistrala de control, pe care circul
semnalele de comand i de control de la/la procesor.
16. Caracterizai circuitele RFID
Circuitele RFID (Radio Frequency Identification) reprezint circuite integrate mici (<0.5 mm), care prin
intermediul unor cipuri electronice stocheaz informaii. De regul cele din urm reprezint un cod unic din 128 de
bii, care poate fi citit de pe aceste cipuri prin intermediul undelor radio. Aceste cipuri pot fi integrate n etichete,
ecusoane, ambalaje de marf; nu necesit surse de alimentare i pot stoca informaia mult timp.
17. Caracterizai grupa de calculatoare servere
Serverele sunt calculatoare care opereaz continuu n reeaua lor i ateapt solicitri din partea altor calculatoare
din reea, pentru a asigura accesul la diferite tipuri de informaii. Serverele deservesc resurse hardware care sunt
partajate ntre calculatoarele membre ale reelei, ca de exemplu imprimantele sau sisteme de fiiere. n cazul celor
din urm, se asigur o securitate mai bun a datelor.
Din punct de vedere hardware, serverele pot fi construite pe baza elementelor uzuale pentru calculatoarele
personale. Totui se utilizeaz componente testate mai bine pentru a asigura funcionalitatea pe o perioad mai
ndelungat (ex: HDD de capacitate mai joas). Pot fi folosite i mai multe microprocesoare pentru a asigura
performana necesar. Oricum, diferena substanial o reprezint partea software, care reprezint SO proiectate
special pentru servere, dintre care cele mai populare FreeBSD, Sun Solaris, GNU/Linux.
18. Caracterizai grupa de calculatoare mainframe
Calculatoarele mainframe sunt calculatoare, ce pot exploata volume imense de date i pot suporta lucrul a mii de
utilizatori. Un calculator mainframe se distinge prin capacitatea de stocare i memoria intern. El poate rula ani
ntregi fr ntrerupere. Unele pot rula simultan mai multe SO, opernd ca o mulime de maini virtuale. Preul se
ridic la sute de mii de $. Este solicitat de companiile, care opereaz cu un volum foarte mare de date. Diferena
dintre mainframe i supercomputer este faptul c supercomputerele execut calcule de intensitate ridicat, pe cnd
mainframe efectueaz operaii simple asupra unui volum mare de date.
19. Clasificarea lui Flynn. Arhitectura SISD
Calculatoarele SISD sunt calculatoare cu un flux de date i un flux de instruciuni. Aceste calculatoare execut un
singur flux de instruciuni asupra unui singur flux de date. Instruciunile sunt executate secvenial, dar pot exista i
suprapuneri, dac este implementat conceptul de band de asamblare. Calculatoarele SISD pot avea mai multe
uniti funcionale (ex: coprocesor matematic, procesor grafic, procesor I/O)
UC unitate de comand, UE unitate de execuie, MM modul de memorie, SI fluxul de instruciuni, SD
fluxul de date
20. Clasificarea lui Flynn. Arhitectura SIMD
(Single Instruction Multiple Data)Aceast arhitectur cuprinde sistemele de calcul, care sunt compuse din mai
multe uniti de execuie identice aflate sub comanda unei singuri uniti de control. UC transmite acelai flux de
instruciuni simultan tuturor UE i acestea le execut pentru setul de date, din memoria lor proprie. UC trebuie s
permit procesarea a tuturor datelor nainte de a trimite un nou set de instruciuni, astfel c execuia trebuie s fie
sincronizat ntre toate UE. Numrul de procesoare ntr-o astfel de arhitectur este de cteva mii. Astfel de
calculatoare sunt aplicabile de exemplu n cazul procesrii video n timp-real, n cadrul consolelor de jocuri.
RI sector de date.
21. Clasificarea lui Flynn. Arhitectura MISD
(Multiple Instruction Single Data) Arhitecturile date au mai multe UC i UE, care execut set dfierit de
instruciuni asupra aceluiai set de date. Acest lucru este realizabil n dou moduri:
Acelai element din fluxul de date este prelucrat de toate procesoarele, fiecare executnd operaiile proprii.
Un element din fluxul de date este prelucrat de primul procesor, rezultatul este pasat mai departe,
formndu-se o macroband de asamblare.
22. Clasificarea lui Flynn. Arhitectura MIMD
(Multiple Instruction Multiple Data) Arhitectura dat are mai multe UE interconectate, care execut
asupra unui set de date propriu, instruciuni specifice UE date. Operaiile executate de fiecare procesor sunt
independente, astfel avnd un mod de operare asincron. Acest tip de arhitectur este aplicabil aplicaiilor
paralele (sisteme de calcul paralel).
23. Explicai diferena ntre microprocesoarele CISC i RISC.
CISC RISC
Multe instruciuni care prelucreaz operanzi
din memorie
Format de lungime variabil pentru
instruciuni
UC microprogramat, avantajoas din punct
de vedere a implementrii, dar lent
Set complex de instruciuni i o varietate mare
de moduri de adresare
Un numr relativ mic de registre n UCP
Se utilizeaz compilatoarele optimizatoare
pentru a optimiza performanele codului
obiect
Se utilizeaz tehnica de tip pipeline
Acces la memorie limitat, doar prin
instruciuni de ncrcare (load) i stocare
(store)
Format de lungime fix pentru instruciuni,
deci uor de decodificat
Structur simpl a UC, deci o vitez mare de
funcionare
Numr mic de instruciuni (<100)
Un numr relativ mare de registre n UCP
Tehnica de tip pipeline utilizat este mai
eficient i mai uor de implementat, datorit
lungimii constante a instruciunilor
Arhitecturile RISC restricioneaz numrul de instruciuni, care acceseaz direct memoria principal. Cele mai
multe instruciuni RISC presupun doar operaii ntre registre interne ale UCP. Pentru instruciunile complexe nu
exist n setul de instruciuni, dac este nevoie de ele, acestea se implementeaz prin rutine cu ajutorul celor
existente, programul executabil RISC va avea mai multe instruciuni, dar execuia n ansamblu va fi mai rapid
dect la CISC. Formal toate procesoarele x86 erau de tip CISC, dar cu timpul acestea au devenit microprocesoare
de tip CISC cu un nucleu RISC.
24. Definii noiunile arhitectura scalar, superscalar
Microprocesoarele moderne utilizeaz tehnologia pipeline, care implic executarea macroinstruciunilor paralel.
ncepnd cu procesorul Intel i486, s-a introdus o band de asamblare pipeline, care const din 5 segmente:
Toate aceste segmente sunt executate paralel. Din unitatea prefetch instruciunea se transfer n unitatea pentru
decodificarea instruciunii, iar prefetch este liber pentru citirea urmtoarei instruciuni. Deci n interiorul
microprocesorului se afl 5 instruciuni n diferite segmente de execuie. Aceste segmente formeaz o band de
asamblare.
Microprocesoarele ce conin o singur band de asamblare sunt microprocesoare cu arhitectur scalar, iar
cele care conin 2 sau mai multe benzi microprocesoare cu arhitectur suprascalar.
25. Explicai funcionarea unei benzi de asamblare cu 5 segmente.
Banda de asamblare cu 5 segmente funcioneaz n felul urmtor:
Segmentul 1 extrage instruciunea din memorie i o plaseaz ntr-un registru tampon
Segmentul 2 o decodific, determinndu-i tipul i operanzii
Segmentul 3 localizeaz i extrage operanzii fie din registre, fie din memorie
Segmentul 4 execut instruciunea
Segmentul 5 nscrie rezultatele n registre
26. Explicai funcionarea unei benzi de asamblare duale cu 5 segmente.
Pentru a putea lucra n paralel, cele 2 instruciuni nu trebuie s-i dispute resursele (ex: registrele) i nici una nu
trebuie s depind de rezultatul celeilalte. Fie compilatorul trebuie s garanteze respectarea condiiei anterioare sau
eliminarea conflictelor prin intermediul unui hardware suplimentar.
Spre exemplu, Pentium are 2 benzi de asamblare: u pipeline, care execut orice instruciune i v pipeline, care
poate executa doar instruciuni simple n virgul mobil. Reguli complicate determin dac instruciunile sunt
compatibile, astfel nct s poat fi executate paralel.
27. Explicai funcionarea unei benzi de asamblare cu 5 uniti funcionale.
O alt abordare a benzilor de asamblare este cea care implic prezena unei singure benzi de asamblare, dar cu mai
multe uniti funcionale.
28. Explicai schema structurat a microprocesorului Pentium.
Pentium are 2 benzi de asamblare: u pipeline, care execut orice instruciune i v pipeline, care poate executa
doar instruciuni simple n virgul mobil. Reguli complicate determin dac instruciunile sunt compatibile, astfel
nct s poat fi executate paralel.
Pentium folosete 2 memorii cache de 8 kB, pentru cele mai frecvente coduri i date. Astfel se elimin necesitatea
de a accesa permanent memoria calculatorului.
De asemenea microprocesorul are un buffer pentru decodificarea anticipat a instruciunilor. Astfel sunt sesizate
eventualele salturi nainte ca instruciunea s fie trimise n banda de asamblare.
Transmiterea din memoria cache se efectueaza pe o magistrala de 256 bii, ceea ce permite aducerea unor secvene
de instruciuni cu o vitez mai mare dect viteza de procesare.
Pentium utilizeaz predicia salturilor (BTB), care stocheaz informaia despre ultimele 256 de salturi.
Registrele generale sunt de 32 bii, dar magistralele sunt de 128 i 256 de bii pentru a mri viteza transferurilor
interne. Magistrala extern a fost extins la 64 de bii.
Procesorul dispune de tehnologia TLB (Translation Lookaside Buffer), care translateaz adresa liniar n fizic.
Pentium dispune i de un controler avansat de ntreruperi (APIC advanced programmable interrupt con.)
29. Explicai mecanismul prediciei adreselor salturilor (BTB).
Mecanismul prediciei salturilor este un concept ntilnit la majoritatea arhitecturilor performante de calculatoare i
a microprocesoarelor de vitez ridicat. Acest concept permite procesoarelor permite decodificarea instruciunilor
de dup cele de salt pentru a nu goli calea de date n banda de asamblare la execuia instruciunilor de salt.
Unitatea de extragere i decodificare a instruciunilor utilizeaz un algoritm de predicie optimizat pentru
anticiparea direciei fluxului de instruciuni prin nivele multiple de salturi, apeluri la proceduri i reveniri din
proceduri.
30. Explicai analiza dinamic a fluxului de date
Analiza dinamic a fluxului de date implic analiza n timp real a fluxului datelor prin procesor pentru a determina
dependena datelor i a registrelor i pentru a detecta posibilitatea execuiei instruciunilor ntr-o ordine diferit de
cea specificat n program. Unitatea de expediere i execuie a instruciunilor poate monitoriza simultan mai multe
instruciuni i poate executa aceste instruciuni ntr-o ordine n care se optimizeaz utilizarea unitilor multiple de
execuie ale micro arhitecturii, meninnd n acelai timp integritatea datelor asupra crora se opereaz. Aceast
ordine de execuie asigur ocuparea unitilor de execuie chiar i atunci cnd apar dependene ntre datele
instrunciunilor.
31. Explicai execuia speculativ
Execuia speculativ se refer la posibilitatea de a executa instruciuni aflate naintea instruciunii adresate de
contorul de program i de a furniza rezultatele n ordinea irului iniial de instruciuni. Pentru ca execuia
speculativ s fie posibil, micro arhitectura familiei de procesoare P6 separ expedierea i execuia instruciunilor
de producerea rezultatelor. Unitatea de expediere i execuie a instruciunilor utilizeaz analiza fluxului de date
pentru a executa toate instruciunile din rezervorul de instruciuni i de memora rezultatele n registre temporare.
Unitatea de retragere a instruciunilor caut apoi instruciunile care au fost executate i dac se gsesc de acestea,
unitatea de retragere depune rezultatele n memorie sau n registrele micro arhitecturii i le retrage din coada de
instruciuni.
32. Explicai Tehnologia Macro Fusion
Tehnologia Macro Fusion const n fuziunea a dou instruciuni x86 (i cteva microinstruciuni x86 Fusion)
ntr-una singur. Unele perechi de instruciuni (de exemplu compararea i de salt condiionat) la decodificare pot fi
fuzionate i utilizate ulterior ca o singur microinstruciune. Fr utilizarea tehnologiei Macro Fusion, procesorul
(cu 4 UE) poate decodifica pn la 4 instruciuni. Macro Fusion permite fuzionarea a dou dintre ele. Astfel,
microprocesorul poate decodifica 5 instruciuni.
33. Explicai Tehnologia Turbo Boost
Tehnologia Turbo Boost permite automat ca nucleele procesorului s poat funciona cu o frecven mai nalt
dect cea nominal, doar dac procesorul lucreaz n cadrul limitelor de putere, curent i temperatur, conform
TDP (Thermal Design Power).
Assembler ntrebri practice
1 Instruciunea mov word ptr [bx],0:
a) ncarc registrul bx cu valoarea 0
b) ncarc n locaia adresat de bx valoarea 0 pe un octet
c) ncarc n locaia adresat de bx valoarea 0 pe un cuvnt
2 Implementai Instruciunea xchg bx,cx folosind stiva
push bx mov bx,cx pop cx
3 Implementai Instruciunea xchg bx,cx folosind instruciuni de tip mov
mov ax,bx mov bx,cx mov cx,ax
4 Instruciunea n al,71h:
a) ncarc n registrul al valoarea 71h
b) citete n registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
5 Instruciunea out 71h,al
a) ncarc n registrul al valoarea 71h
b) citete n registrul al un octet de la portul 71h
c) scrie valoarea din registrul al la portul 71h
6 Instruciunea adc dest, surs realizeaz operaia:
a) surs<--dest+ surs b) dest<--dest+ surs c) dest<--dest+ surs+carry d) surs<--dest+ surs+carry
7 Instruciunea add dest, surs realizeaz operaia:
a) surs<--dest+ surs b) dest<--dest+ surs c) surs<--dest+ surs+carry d) dest<--dest+ surs+carry
8 Instruciunea sub dest, surs realizeaz operaia:
a) surs<--dest+ surs b) dest<--dest- surs c) dest<--dest- surs d) surs<--dest- surs
9 Instruciunea sbb dest, surs realizeaz operaia:
a) surs<--dest- surs b) dest<--dest- surs c) dest<--dest- surs+carry d) dest<--dest- surs-carry
10 Instruciunea cmp dest, surs realizeaz operaia:
a) compara operanzii surs si destinaie prin aplicarea funciei logice "si"
b) compara operanzii surs si destinaie prin aplicarea funciei logice "sau"
c) compara operanzii surs si destinaie prin scdere.
11 Care este sintaxa corect a Instruciunii dec?
a) dec dest, surs b) dec dest c) dec
12 Care este sintaxa corecta a Instruciunii not?
a) not dest, surs b) not dest c) not
13 Dac n registrul AL este stocata valoarea 11001001, dup Instruciunea shl al,3 se va obine:
a) 00011001 b) 01001000 c) 001001000 d)11001000
14 Dac n registrul AL este stocat valoarea 11001001, dup Instruciunea shr al,3 se va obine:
a) 00011001 b) 01001000 c) 000100100 d)11001000
15 Dac n registrul AL este stocat valoarea 11001001, dup Instruciunea rol al,3 se va obine:
a) 01001010 b) 01001110 c) 00111001 d)11001000
16 Dac n registrul AL este stocat valoarea 11001001, dup Instruciunea ror al,3 se va obine:
a) 01001010 b) 01001110 c) 00111001 d)11001000
17 Care este starea indicatorului carry dup Instruciunea rcl al,2 dac n AL se afla 00100101?
a) 0 b) 1
18 Care este starea indicatorului carry dup Instruciunea rcr al,2 dac n AL se afla 00100101?
a) 0 b) 1
19 Dac n AL avem 11011110, n urma instruciunii and al,0fh se obine valoarea:
a) 11011111 b) 00001110 c) 11010001
20 Dac n AL avem 11011110, n urma instruciunii or al,0fh se obine valoarea:
a) 11011111 b) 00001110 c) 11010000
21 Dac n AL avem 11011110, n urma instruciunii test al,0fh se obine valoarea:
a) 11011111 b) 00001110 c) 11010001 d) 11011110
22 La instruciunile cu pentru manipularea irurilor:
a) irul surs este pointat de DS:SI
b) irul destinaie e pointat de DS:SI
c) irul surs e pointat de ES:DI
d) irul destinaie e pointat de ES:DI
23 Se poate seta sensul de parcurgere a irurilor de caractere?
a) da b) nu c) uneori
24 Contorul pentru instruciunile cu iruri se afl n registrul:
a) AX b) BX c) CX d) DX
25 Ce operaie realizeaz Instruciunea MOVSB? se transfera un octet de la DS:SI la ES:DI
transfer pe 8 (16) bii [DS:SI][ES:DI]
26 Ce operaie realizeaz Instruciunea CMPSB? comparare pe 8(16) bii [DS:SI] cu [ES:DI]
27 Ce operaie realizeaz Instruciunea SCASB? comparare pe 8(16) bii intre AL(AX) i [ES:DI]
28 Ce operaie realizeaz Instruciunea LODSB? se ncarc AL(AX) de la [DS:SI]
29 Ce operaie realizeaz Instruciunea STOSB? se stocheaz AL(AX) la [ES:DI]
30 Instruciunea CALL NEAR et realizeaz:
a) un transfer la et n alt segment de cod
b) un transfer la et n segmentul curent de cod
c) un salt la et n segmentul curent de cod
d) un salt la et n alt segment de cod
31 Instruciunea CALL FAR et realizeaz:
a) un transfer la et n alt segment de cod
b) un transfer la et n segmentul curent de cod
c) un salt la et n segmentul curent de cod
d) un salt la et n alt segment de cod
32 Instruciunea jmp et realizeaz:
a) un salt necondiionat la et b) un salt condiionat la et c) apelul rutinei et
33 Ce operaii se realizeaz la execuia instruciunii CALL?
Apelul unei proceduri se face prin instructiunea CALL:
sintaxa: CALL operand
aceasta salveaza pe stiva adresa instructiunii urmatoare (daca saltul este de tip intersegment far se salveaza inainte si
adresa din CS) si executa salt la locatia indicata de operand;
34 Ce operaii se realizeaz la execuia instruciunii RET?
Iesirea din proceduri se realizeaza prin instructiunea RET:
sintaxa: RET [valoare numerica]
aceasta scoate de pe stiva adresa instructiunii urmatoare (daca saltul este de tip intersegment far se restaureaza dupa
IP si CS salvat anterior) si initializeaza registrele care controleaza executarea instructiunilor, IP si CS (ambele daca
procedura a fost de tip FAR);
35 Instruciunea JZ et realizeaz saltul la et dac:
a) flagul Zero este 1 b) flagul Zero este 0 c) flagul Sign este 1 d) flagul Sign este 0
36 Instruciunea JNZ et realizeaz saltul la et dac:
a) flagul Zero este 1 b) flagul Zero este 0 c) flagul Sign este 1 d) flagul Sign este 0
37 Instruciunea JC et realizeaz saltul la et dac:
a) flagul Zero este 1 b) flagul Zero este 0 c) flagul Carry este 1 d) flagul Carry este 0
38 Instruciunea JNC et realizeaz saltul la et dac:
a) flagul Zero este 1 b) flagul Zero este 0 c) flagul Carry este 1 d) flagul Carry este 0
39 Instruciunea JCXZ et realizeaz saltul la et dac:
a) flagul Zero este 1 b) flagul Zero este 0 c) flagul Carry este 0 d) registrul CX este 0
40 Instruciunea corespunztoare etichetei et din LOOP et se afl:
a) naintea instruciunii LOOP b) dup Instruciunea LOOP c) nu se afla n programul respectiv
41 Instruciunea STC:
a) activeaz sistemul de ntreruperi b) dezactiveaz sistemul de ntreruperi
c) pune carry pe 0 d) pune carry pe 1
42 Instruciunea CLC:
a) activeaz sistemul de ntreruperi b) dezactiveaz sistemul de ntreruperi c) pune carry pe 0 d) pune carry pe 1
43 Complementul fa de doi se utilizeaz pentru:
a) reprezentarea numerelor naturale b) reprezentarea numerelor ntregi negative
c) reprezentarea numerelor reale negative
44 Cum sunt reprezentate n memorie caracterele?
Caracterele sunt n mod normal reprezentate ca iruri de apte bii fiecare ntr-o codare numit ASCII (American Standard
Code for Information Interchange). Pe mainile moderne, fiecare din cele 128 de caractere ASCII sunt cei apte bii mai
nesemnificativi dintr-un octet de 8 bii; octeii sunt mpachetai n cuvinte de memorie aa nct (de exemplu) un ir de ase
caractere ocup numai dou cuvinte de memorie.
45 Cum sunt reprezentate numerele reale:
a) n mrime si semn b) n format BCD c) n format virgula mobila