Postać przetwarzanych informacji

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Postać danych

Reprezendacja danych zależy od ich rodzaju:

  • Informacja logiczna - zajmuje jedno słowo i jest ciągiem 16 niezależnych bitów.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
 
  • 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Znak 1 Znak 2
  • Liczba stałoprzecinkowa krótka - zajmuje jedno słowo i traktowana jest jako liczba całkowita. Zapisana jest w notacji uzupełnieniowej do dwóch.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Zn Uzupełnienie
  • Liczba stałoprzecinkowa długa - zajmuje dwa słowa i traktowana jest jako liczba całkowita. Zapisana jest w notacji uzupełnieniowej do dwóch.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Zn Uzupełnienie
  • 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
Zn Uzupełnienie mantysy Zn Cecha


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. Poszczególne pola zawierają:
    • kod operacji (pozycja 0÷5) - podstawowy kod operacji
    • bit D (pozycja 6) - bit adresowania pośredniego lub przedłużenie kodu operacji
    • pole A (pozycja 7÷9) - numer rejestru uniwersalnego lub przedłużenie kodu operacji
    • pole B (pozycja 10÷12) - numer rejestru uniwersalnego służącego do B-modyfikacji argumentu lub przedłużenie kodu operacji
    • pole C (pozycja 13÷15) - numer rejestru uniwersalnego lub przedłużenie kodu operacji
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji D A B C
  • Rozkazy z argumentem bezpośrednim normalnym - zajmują dwa słowa maszynowe. Argument zajmuje następne słowo za słowem podstawowym rozkazu. Znaczenie pól jest takie samo jak w przypadku rozkazu w postaci podstawowej, z tym, że pole C=0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Kod operacji D A B 000 argument bezpośredni
  • Rozkazy z argumentem bezpośrednim krótkim - krótki argument 7-bitowy znajduje się na pozycjach D, B i C (bit D wskazuje znak argumentu). Pozostałe pola mają znaczenie jak w przypadku rozkazu w postaci podstawowej
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji Zn A Wartość arg.
  • Rozkazy z argumentem bezpośrednim bajtowym - Pola 0÷7 zawierają kod operacji wraz z jego przedłużeniem. Pola 8÷15 zawierają 8-bitowy argument bezpośredni.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji Arg. bezpośredni

Postać adresów

  • Adres słowa - 15-bitowa liczba całkowita z przedziału 0÷32767
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 Adres słowa
  • Adres bajtu - 16-bitowa liczba całkowita z przedziału 0÷65535. Najmłodszy bit wskazuje: 0 - lewy bajt, 1 - prawy bajt
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Adres słowa b

W przypadku adresu bajtu, słowo adresowe przesuwane jest o i bit w prawo. Otrzymana po przesunięciu liczba stanowi adres słowa pamięci zawierający argument rozkazu bajtowego. Bit wychodzący przy przesunięciu wskazuje, który bajt słowa został zaadresowany.