Instrukční soubor mikroprocesoru (kódování instrukcí)
Dvě úrovně:
- základní jazyková
- strojová
Způsob zakódování instrukcí:
Instrukce je zakódována v bitovém poli. Instrukce se skládá z jednoho a více slov, přičem při dekódování jsou nejdůleitějí prvé dva bity. Operační kód zabírá obvykle 6 bitů bitového pole prvního bytu.
Značení | ířka pole | Význam |
Operační kód | 6,00 | |
D | 1,00 | směr provádění instrukce |
W | 1,00 | ířka operandu |
MOD | 2,00 | adresový mód |
REG | 3,00 | číslo registru |
RIM | 3,00 | způsob přístupu do paměti, číslo registru |
Příklad dekódování instrukce:
Bitové pole REG - 3 bity:
Pole REG | Registr | |||
W=1 | W=0 | |||
0,00 | 0,00 | 0,00 | AX | AL |
0,00 | 0,00 | 1,00 | CX | CL |
0,00 | 1,00 | 0,00 | DX | DL |
0,00 | 1,00 | 1,00 | BX | BL |
1,00 | 0,00 | 0,00 | AH | SP |
1,00 | 0,00 | 1,00 | CH | BP |
1,00 | 1,00 | 0,00 | DH | SI |
1,00 | 1,00 | 1,00 | BH | DI |
Interpretace pole W a D v instrukcí:
W |
Velikost operandu |
0,00 | Jeden byte |
1,00 | Dva byte (slovo) |
D | První operand (cílový) | Druhý operand (zdrojový) |
0,00 | MOD + RIM | REG |
1,00 | REG | MOD + RIM |
Interpretace pole RIM pro pamě?ové operandy:
RIM |
Báze | Index | ||
0,00 | 0,00 | 0,00 | BX | SI |
0,00 | 0,00 | 1,00 | BX | DI |
0,00 | 1,00 | 0,00 | BP | SI |
0,00 | 1,00 | 1,00 | BP | DI |
1,00 | 0,00 | 0,00 | ádný | SI |
1,00 | 0,00 | 1,00 | ádný | DI |
1,00 | 1,00 | 0,00 | BP | ádný |
1,00 | 1,00 | 1,00 | BX | ádný |
Interpretace pole MOD:
MOD |
Význam |
00 | RIM není 110 - k offsetu podle RIM se nic nepoieítá |
00 | RIM=110 - RIM se neuvauje, offset je obsaen v slovi za instrukcí |
01 | K offsetu podle RIM se poieítá jeden byte za instrukcí |
10 | K offsetu podle RIM se poieítá slovo za instrukcí |
11 | RIM obsahuje eíslo registru (jako REG) |