Sunteți pe pagina 1din 5

1.

nsumeaz cei doi operanzi iar rezultatul este depus n operandul destinaie (valoarea veche a operandului destinaie fiind nlocuita cu noua valoare). Sintaxa: ADD destinaie, surs. Operanzii surs i destinaie pot fi numere binare cu sau fr semn de 8 sau 16 bii (de 32 de bii ncepnd cu 80386), dar ambii au aceeai dimensiune. Att sursa ct i destinaia pot fi un operand registru sau un operand n memorie. Sursa poate fi i un operand imediat. ntruct operaiile de la memorie la memorie nu sunt admise niciodat, operandul surs i destinaie nu pot fi ambii operanzi n memorie. Instruciunea ADD actualizeaz indicatorii AF, CF, OF, PF, SF i ZF. Operandul surs este sczut din destinaie iar rezultatul este depus n operandul destinaie (valoarea veche a operandului destinaie fiind nlocuita cu noua valoare). Sintaxa: SUB destinaie, surs. Operanzii surs i destinaie pot fi numere binare cu sau fr semn de 8 sau 16 bii (de 32 de bii ncepnd cu 80386), dar ambii trebuie s aib aceeai dimensiune. Att sursa ct i destinaia pot fi un operand registru sau un operand n memorie. Sursa poate fi i un operand imediat. ntruct operaiile de la memorie la memorie nu sunt admise niciodat, operanzii surs i destinaie nu pot fi ambii operanzi n memorie. Instruciunea SUB actualizeaz indicatorii: AF, GF, OF, PF, SF i ZF. Operandul destinaie (el poate fi un octet sau un cuvnt) este sczut din 0 iar rezultatul este depus tot n operandul destinaie (valoarea veche a operandului destinaie fiind nlocuita cu noua valoare). Astfel se formeaz un complement fat de 2 al numrului, schimbnd de fapt semnul numrului. Dac operandul destinaie este zero, semnul nu se schimb. Dac operandul destinaie este un octet care conine 128 sau un cuvnt care conine -32768 sau un cuvnt dublu care conine 65536, atunci el nu este schimbat i este poziionat indicatorul OF. Sintaxa: NEG destinaie. Operandul destinaie poate fi un numr binar cu semn de 8 sau 16 bii (de 32 de bii ncepnd cu 80386). Destinaia poate fi un operand registru sau un operand n memorie. Instruciunea NEG actualizeaz indicatorii AF, CF, OF, PF, SF i ZF. 2. Memoria este partea sistemelor de calcul care se utilizeaz pentru pstrarea i regsirea ulterioar a datelor i instruciunilor. Operaiile principale n care este implicat memoria sunt urmtoarele: Preluarea datelor de intrare n memorie; Pstrarea datelor pn la prelucrarea lor de ctre UCP; Pstrarea datelor de ieire pn cnd ele vor putea fi preluate de echipamentele de ieire; Transmiterea datelor din memorie la ieire. Cele mai importante caracteristici sunt urmtoarele:

1) Amplasarea: n cadrul UCP; Memorii interne; Memorii externe. 2) Capacitatea: Dimensiunea cuvntului; Numrul de cuvinte. 3) Unitatea de transfer: Cuvntul; Blocul. 4) Metoda de acces: Acces secvenial; Acces direct; Acces aleator; Acces asociativ. 5) Performanele: Timpul de acces; Durata ciclului; Rata de transfer. 6) Tipul memoriei: Memorii semiconductoare; Memorii magnetice. 7) Caracteristicile fizice: Volatile / nevolatile; Cu / fr posibilitatea tergerii. 8) Organizarea. Amplasarea. Sistemele de calcul dispun de memorii interne i externe. Memoria intern este considerat de cele mai multe ori ca memorie principal. Exist ns i alte forme de memorie intern. UCP necesit o memorie local proprie, sub forma registrelor. Unitatea de comand i control din cadrul UCP poate necesita de asemenea o memorie proprie, n cazul unitilor de comand microprogramate. Memoria extern const din dispozitivele periferice, ca discuri sau benzi magnetice, care sunt accesibile de ctre UCP prin controlere (module) de I/E.

Capacitatea. Se exprim prin dimensiunea cuvntului de memorie (8, 16, 32, 64 sau 128 de bii) i numrul de cuvinte (KB, MB, GB). Unitatea de transfer. Pentru memoria intern, unitatea de transfer este egal cu numrul liniilor de date la i de la modulul de memorie, deci cu numrul de bii transferai simultan. Unitatea de memorie nu trebuie s fie egal neaprat cu un cuvnt. Pentru memoria extern, datele sunt transferate de multe ori n uniti mai mari dect un cuvnt, numite blocuri. 6. TITLE adunare

.MODEL small .STACK 100h .DATA a DB ? b DB ? Message1 DB 'a= ','$' Message2 DB 13,10,'b= ','$' Message3 DB 13,10,'$' Message4 DB '+','$' Message5 DB '=','$' .CODE Start: mov ax,@data mov ds,ax mov dx, offset Message1 mov ah,09h int 21h mov ah, 01h int 21h sub al,48 mov a,al mov dx, offset Message2 mov ah,9h int 21h mov ah, 01h int 21h sub al,48 mov b,al mov dx, offset Message3 mov ah,9h int 21h ; scrierea valorii primei variabile mov dl,a add dl,48 mov ah, 02h int 21h mov dx, offset Message4 mov ah,9h

int 21h ; scrierea valorii celei de-a doua variabile mov dl,b add dl,48 mov ah, 02h int 21h mov dx, offset Message5 mov ah,9h int 21h ; adunarea celor dou variabile mov dl,a add dl,b add dl,48 mov ah, 02h int 21h mov ah,4ch int 21h END start