Operandi instrukcije se mogu naći u
samoj instrukciji, nekom od registara procesora, i
memoriji procesora. Na osnovu toga se definiše format
instrikcije (dakle i značenje sadržaja podatka u memoriji).
Formati i odnos Opkoda i adresa
instrukcija
Format instrukcije je definisan ukupnom
dužinom instrukcije (u bitovima), zatim brojem, dužinom i
značenjem svakog njenog polja. Tako razlikujemo bezadresne
(nuladresne), jednoadresne, dvoadresne, itd formate instrukcija.
Evo primjera pojedinih formata
Nula – adresni
INC A: uvećava sadržaj akumulatora za 1)
POP C (instrukcija pop čita podatak sa vrha stack-a)
Jedno – adresni (akumulatorske
arhitekture)
Jedan operand i rezultat se nalaze u posebnom registru CPUa koji
se zove akumulator (ACC)
Npr. LOAD A (dejstvo ACC
¬ Mem[A])
ADD B (ACC
¬ ACC +Mem[B])
Dvo – adresni
Jedan operand ima dvostruku ulogu: jednovremeno predstavlja
oznaku izvornog i odredišnog operanda
Npr. ADD R1, R2 (dejstvo R1
¬[R1]+[R2])
Tro – adresni
U adresnom dijelu instrukcije se nalaze refernce dva izvorna
operanda i odredišnog operanda
Svi operandi su eksplicitno navedeni i nalaze se ili u
registrima opšte namjene ili u memoriji
Npr. ADD R1, R2, R3 (dejstvo R1¬[R2]+[R3])
ADD A,B,C (dejstvo Mem[A]
¬Mem[B]+Mem[C] )
Promjenom veličine operacionog koda povećava
se broj mogućih instrukcija.
Povećanjem broja adresnih dijelova pojednostavljuje se
programiranje i smanjuje veličina programa.
|