Programowanie

MOTIS

MOTIS

Język MOTIS to język asemblerowy przeznaczony dla minikomputerów serii MERA 300.

Spis treści

[edytuj] Instrukcje podstawowe

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

[edytuj] 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:

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

[edytuj] 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.

[edytuj] Stałe i teksty

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

[edytuj] Symbole definiowane

W języku MOTIS można definiować symbole, które zastępują adresy, znaki lub liczby. Repertuar dostępnych symboli (wg współczesnej nomenklatury – identyfikatoró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.

[edytuj] 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.

[edytuj] Podprogramy standardowe

MOTIS posługuje się liczbami oktalnymi i jednostkami pamięci – słowami (8 bitów – wg współczesnej nomenklatury: 1 bajt). Aby ułatwić programowanie została stworzona biblioteka podprogramów standardowych (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:

[edytuj] 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.

[edytuj] Bibliografia

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

[edytuj] Zobacz też