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
|
Niciun comentariu:
Trimiteți un comentariu