Eisspeedway

MOTIS

MOTISjęzyk asemblerowy przeznaczony dla minikomputerów serii MERA 300.

Instrukcje podstawowe

Podstawowe instrukcje tego języka stanowią kody mnemoniczne języka wewnętrznego maszyn serii MERA 300. Polecenia te obejmują 34 instrukcje:

  • rozkazy arytmetyczne,
  • rozkazy logiczne,
  • rozkazy sterujące,
  • rozkazy we-wy.

Adresowanie pamięci

Adres składa się z dwóch części: adresu strony (8 bitów) i adresu słowa (5 bitów), trzy bity pozostają niewykorzystane. W systemie MERA 306 adres podzielony jest na trzy części: pamięć dodatkowo podzielona jest na tomy.

Do adresowania stosuje się operatory specjalne:

  • brak operatora
  • S
  • L
  • M

umożliwiające różną interpretację i modyfikację adresowania.

Rozkazy ekstrakodowe

Są to rozkazy realizowane programowo rozszerzająca listę rozkazów systemu MERA 300. Zostały one wprowadzone w celu ułatwienia pisania programów czasu rzeczywistego.

Użycie rozkazu ekstrakodowego w asemblerze MOTIS wymaga użycia znaku "*" po skrócie mnemonicznym rozkazu, a przed jego argumentem.

Rozkazy ekstrakodowe pozwalają także na użycie stosu systemowego; nie ma takiej możliwości bez ich stosowania, chyba że programista zaprogramuje swój stos.

Stałe i teksty

System stosuje dla kodowania znaków zestaw ISO-7.

Symbole definiowane

W języku MOTIS można definiować symbole, które zastępują adresy, znaki lub liczby. Repertuar dostępnych symboli (według współczesnej nomenklaturyidentyfikatorów), ograniczony jest do symboli Q1-Q77, którym można nadawać nie tylko dowolną wartość ale też symbole te, nie mając określonego typu, mogą być interpretowane jako liczby, znaki, adresy (zmienne), adresy (etykiety instrukcji).

Symbol Q identyfikuje licznik adresów (rozkazów). Etkiety Q60-Q77 są wykorzystywane do adresowania podprogramów standardowych.

Makrorozkazy

Makrorozkazy języka MOTIS to rozszerzenie w stosunku do języka wewnętrznego maszyn serii MERA 300. Translator tłumaczy każdy makrorozkaz na ciągi rozkazów maszynowych.

Makrorozkazy asemblera MOTIS są ograniczone do standardowej listy i nie ma możliwości definiowania własnych makrorozkazów.

Podprogramy standardowe

MOTIS posługuje się liczbami oktalnymi i jednostkami pamięci – słowami (8 bitów – według współczesnej nomenklatury: 1 bajt). Aby ułatwić programowanie została stworzona biblioteka podprogramów standardowych – wbudowanych (adresowanych symbolami Q60-Q77), działających na liczbach poczwórnej precyzji (4 x słowo = 4 bajty), przy czym są to nadal wyłącznie liczby całkowite. Podprogramy standardowe obejmują instrukcje:

MOTIS jako loader i system

Asembler MOTIS jest translatorem, który wpisuje kod wynikowy od razu do pamięci, a więc może pełnić funkcje loadera. Operator systemu miał do dyspozycji zestaw odpowiednich poleceń (oznaczonych literami, np. A, B, G, U itd.), za pomocą których steruje pracą systemu asemblera, jako programu lub systemu operacyjnego.

Bibliografia

  • Piotr Misiurewicz, Andrzej Rydzewski, Minikomputer MERA-300. Instrukcja dla użytkownika. Wydawnictwa Politechniki Warszawskiej, Warszawa 1979 r.,