3012
edycji
(Created page with "Jednostka centralna (procesor) minikomputera MERA-400 jest jednostką 16-bitową. Słowo maszynowe składa się z 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmnie...") |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
Jednostka centralna (procesor) minikomputera MERA-400 jest jednostką 16-bitową. Słowo maszynowe składa się z 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji). | Jednostka centralna (procesor) minikomputera MERA-400 jest jednostką 16-bitową. Słowo maszynowe składa się z 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji). | ||
==Postać danych== | ==Postać danych== | ||
Linia 13: | Linia 14: | ||
|} | |} | ||
* '''Znaki alfanumeryczne''' - umieszczane są po dwa w jednym 16-bitowym słowie. | * '''Znaki alfanumeryczne''' - umieszczane są po dwa w jednym 16-bitowym słowie. Format ich zapisu zależy od oprogramowania. Standardowo używany jest kod ISO-7. | ||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
Linia 38: | Linia 39: | ||
* '''Liczba zmiennoprzecinkowa''' - zajmuje trzy słowa. Jako standard przyjmuje się postać znormalilzowaną. Mantysa zajmuje pierwszych 40 bitów i traktowana jest jako liczba zaprzecinkowa w notacji uzupełnieniowej. Cecha zajmuje ostatnich 8 bitów i traktowana jest jako liczba całkowita w notacji uzupełnieniowej do dwóch. | * '''Liczba zmiennoprzecinkowa''' - zajmuje trzy słowa. Jako standard przyjmuje się postać znormalilzowaną. Mantysa zajmuje pierwszych 40 bitów i traktowana jest jako liczba zaprzecinkowa w notacji uzupełnieniowej. Cecha zajmuje ostatnich 8 bitów i traktowana jest jako liczba całkowita w notacji uzupełnieniowej do dwóch. | ||
{| class="wikitable" style="text-align: center;" | {| class="wikitable" style="text-align: center;" | ||
Linia 45: | Linia 45: | ||
| Zn || colspan="39" | Uzupełnienie mantysy || Zn || colspan=8 | Cecha | | Zn || colspan="39" | Uzupełnienie mantysy || Zn || colspan=8 | Cecha | ||
|} | |} | ||
==Postać rozkazów== | ==Postać rozkazów== | ||
W zależności od postaci, rozkazy dzielą się na cztery grupy. Postać rozkazów z każdej grup jest różna: | |||
* '''Rozkazy w podstawowej postaci''' - zajmują jedno słowo maszynowe: | |||
{| class="wikitable" style="text-align: center;" | |||
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 | |||
|- | |||
| colspan="6" | Kod operacji || D || colspan="3" | A || colspan="3" | B || colspan="3" | C | |||
|} | |||
*''' Rozkazy z argumentem bezpośrednim normalnym''' | |||
{| class="wikitable" style="text-align: center;" | |||
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 || width=15 | 16 || width=15 | 17 || width=15 | 18 || width=15 | 19 || width=15 | 20 || width=15 | 21 || width=15 | 22 || width=15 | 23 || width=15 | 24 || width=15 | 25 || width=15 | 26 || width=15 | 27 || width=15 | 28 || width=15 | 29 || width=15 | 30 || width=15 | 31 | |||
|- | |||
| colspan="6" | Kod operacji || D || colspan="3" | A || colspan="3" | B || colspan="3" | 000 || colspan="16" | argument bezpośredni | |||
|} | |||
* '''Rozkazy z argumentem bezpośrednim krótkim''' | |||
{| class="wikitable" style="text-align: center;" | |||
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 | |||
|- | |||
| colspan="6" | Kod operacji || Zn || colspan="3" | A || colspan="6" | Wartość arg. | |||
|} | |||
* '''Rozkazy z argumentem bezpośrednim bajtowym''' | |||
{| class="wikitable" style="text-align: center;" | |||
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 | |||
|- | |||
| colspan="8" | Kod operacji || colspan="8" | Arg. bezpośredni | |||
|} | |||
==Postać adresów== | |||
* '''Adres bajtu''' | |||
{| class="wikitable" style="text-align: center;" | |||
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 | |||
|- | |||
| colspan="15" | Adres słowa || b | |||
|} | |||
* '''Adres słowa''' | |||
{| class="wikitable" style="text-align: center;" | |||
| width="15" | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 | |||
|- | |||
| 0 || colspan="15" | Adres słowa | |||
|} |