Formatul instructiunilor

Pentru a rezolva o problema , calculatorul trebuie sa cunoasca in fiecare moment atit operatia pe care urmeaza sa o execute , cit si datele care participa in operatie. Aceste operatii sint comunicate calculatorului prin intermediul instructiunilor.
Instructiunea calculatorului reprezinta o succesiune de cifre binare prin care se indica procesorului operatia de executat si amplasamentul (locul) operanzilor.
Codul Instructiunii
Adresa operand 1
Adresa operand 2
Adresa rezultata


Codul Instructiunii
Adresa operand 1 si adresa rezulata
Adresa operand 2





Codul 
Instructiunii
Adresa operand

tab.1 Formatul instructiunilor cu 3 adrese
tab.2 Formatul instructiunilor cu 2 adrese
tab.3 Formatul instructiunilor cu o adrese

In general, pentru executarea unei operatii este necesar ca instructiunea sa contina 3 adrese(tab.1). Primele doua adrese sint folosite pentru obtinerea celor doi operanzi asupra carora se va efectua operatia specificata de cimpul Codul Instructiunii . Rezultatul operatiei va fi depus pe adresa specificata de cimpul Adresa rezultat. 
Sa analizam un exemplu. Presupunem ca operatiile aritmetice si logice sint codificate dupa cum urmeaza (pentru simplitate vom utiliza echivalentele zecimale ale cimpurilor binare respective)
01-adunarea;
02-scaderea;
03-operatia logica SI;
04-operatia logica SAU;
Instructiunea
01 100 110 215
va impune procesorul sa adune numerele din locatiile 100 si 110 si se scade numarul din locatia 110. Rezultatul obtinut va fi depus in locatia 215.
In mod similar, instructiunea 
03 200 300 100
specifica operatia logica SI asupra bitilor cuvintelor din locatiile 200 si 300. Rezultatul operatiei va fi depus in locatia 100.
Se observa ca intr-o instructiune nu se specifica valoarea operanzilor , ci adresele locatiilor in care pot fi gasiti operantzii respectivi. Acest fapt permite utilizarea unuia si aceluiasi program pentru prelucrarea oricaror data initiale.Faptul ca instructiunilile lucreaza cu adresele al caror continut tebuie prelucrat , si nu cu insusi continutului, constituie un principiu fundamental al calculatoarelor numercie, care permite ca un program sa fie elaborat si introdus in calculator independent de dateconcrete asupra caror se aplica.
In formatul cu 3 adresew , ele sunt specificate explicit. pentru o reprezentare mai compacta a instructiunilor se utilizeaza specificare implicita a unor adrese . In acest caz , cuvintul instructiune nu contine un cimp special pentru adresa implicita.
Daca rezultatul obtinut in urma executarii unei instructiuni se depune pe adresa unuia dintre operanzi , formatul respectiv va avea numai doua adrese.Prin urmare, adresa rezultatului este specificata implicit. De exemplu , instructiunea
01 100 110
va impune preocesorului sa adune in locatiile 100 si 110 si sa depuna suma obtinuta in locatia100. Evident , dupa inscrierea sumei, numarul initial din locatia 100 va fi suprimat.
S-a constatat ca formatul cu doua adrese ,in prezent cel mai raspindit ,permite scrierea de program avind un numar de instructiuni comparabil cu cel obtinut atunci cind s-ar utiliza mai multe adrese .
Formatul cu o singura adresa se utilizeaza in calculatoarele procesorul carora include un registru special, denumit acumulator. In acumulator se pastreaza primul operand si se depune rezultatul executarii operatiei respective. Prin urmare, adresa primului operand si adresa rezultatului sunt specificate implicit. De exemplu, instructiunea cu o singura adresa
01 100
va aduna nr din acumulator cu nr din locatia 100 , iar suma obtinuta va fi depusa in acumulator. Respectiv,  nr initial din acumulator va fi suprimat.
Instructiunile cu o singura adresa sunt eficiente din punctul de vedere al lungimii cuvintului si al rapiditatii calculatorului. Totusi un program scris cu instructiuni avind o singura adresa va contine mai multe instructiuni de cit in cazul care se folosesc instructiuni cu doua sau trei adresel.
Mentionam ca toate calculatoarele moderne pot avea instructiuni de diferite formate. Informatia referitoare la formatul fiecarei instructiuni se indica in cimpul CODUL INSTRUCTIUNII.
Programele reprezentate in forma de succesiuni binare direct executabile de calculator se numesc programe in limbaj cod calculator sau programe in limbaj masina.
Elaborarea programelor in limbaj cod calculator este un lucru extenuant si ineficient. Pentru a simplifica procesul de elaborare a programelor, s-a convenit ca instructiunile sa fie scrise intr-un limbaj simbolic, denumit limbaj de asamblare. In acest limbaj codurile instructiunilor se reprezinta print-ungrup de caractere , astfel ales incit sa sugereze citmai bine natura operatiei. Acest grup de caractere, de regula 3, este cunoscut sub numele mnemonica instructiunii. De exemplu, codurile instr. calculatoului ipotetic dinparagraful precedent pot fi notate simbolic consform tabelului (4).
Cod instructiune
Mnemonica
Semnificatia
01
02
03
04
05
06
07
INC
MEM
ADU
SCD
SLT
SLCT
STP
Incarca acumulatorul
Memoreaza acumulatorul
Adunare
Scadere
Salt neconditionat
Salt conditionat
Stop

 Translatare costa in inlocuirea mnemonicii instructiunii si a adreselor simbolice prin sirurile binare respective. Aceasta inlocuire este facuta de un program special, denumit program de asamblare sau asamblor.

Niciun comentariu:

Trimiteți un comentariu