ASSEM: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Linia 4: Linia 4:
* składni klasycznej, znanej z ASSK i ASSM
* składni klasycznej, znanej z ASSK i ASSM
* składni współczesnej
* składni współczesnej
Domyślnie ASSM pracuje na źródłach w składni współczesnej, z mnenomikami MERY-400. Zachowanie to można zmienić używając odpowiednich przełączników w linii poleceń


= Wywołanie =
= Wywołanie =

Wersja z 18:31, 1 maj 2013

ASSEM jest assemblerem skrośnym, pozwalającym budować binaria dla MERY-400 na komputerze PC. ASSEM, jako rozwinięcie ASSK i ASSM pozwala na użycie:

  • mnemoników K-202 (rozszerzonych o mnemoniki MERY-400),
  • mnemoników MERY-400,
  • składni klasycznej, znanej z ASSK i ASSM
  • składni współczesnej

Domyślnie ASSM pracuje na źródłach w składni współczesnej, z mnenomikami MERY-400. Zachowanie to można zmienić używając odpowiednich przełączników w linii poleceń

Wywołanie

Wywołanie ASSEM z linii poleceń ma postać:

assem [-v] [-h] [-d] [-k] [-c] [-p [-2]] <wejście.asm> [wyjście]

Gdzie:

  • wejście.asm - źródłowy plik wejściowy
  • wyjście - binarny plik wyjściowy; jeśli nie zostanie podany, wyjściem będzie plik o nazwie wejście.bin
  • -v - wyświetl informację o wersji i zakończ działanie
  • -h - wyświetl pomoc i zakończ działanie
  • -d - tryb gadatliwy pracy assemblera; na ekran drukowane są informacje o przebiegu assemblacji
  • -k - użycie mnemoników K-202 (zamiast domyślnych, MERY-400)
  • -c - użycie składni klasycznej (zamiast domyślnej, współczesnej)
  • -p - zapisanie wyjścia preprocesora do pliku wyjście.pp.asm
  • -2 - użycie w wyjściu preprocesora mnemoników K-202 (zamiast domyślnych, MERY-400)

Różnice względem ASSK i ASSM

Składnia klasyczna

  • ASSEM nie implementuje niektórych dyrektyw ASSK i ASSM. W większości przypadków spowodowane jest zmianą sposobu pracy z assemblerem i nie zmniejsza jego funkcjonalności. Brakujące dyrektywy to:
    • ASSM: FILE*, INT*, OUT*, LAB*, NLAB*, MEM*, IFUND*, LEN*, OS*
    • ASSK: F*, T*, NTRAC*, TRAC*, NAME*, BA*, HS*, E*
  • Komentarze w nawiasach ostrych nie są wyprowadzane na ekran.

Składnia współczesna

Prócz odmienności składni, assembler pracujący w tym trybie różni się funkcjonalnie od ASSM i ASSK:

  • Segmenty kodu można zagnieżdżać dowolnie głęboko.
  • W nazwach zmiennych i etykiet istotne są wszystkie znaki (rozpoznawane są nazwy dowolnej długości).
  • Dostępne są dodatkowe operatory: mnożenia, dzielenia, oraz przesunięć w lewo i prawo; w wyrażeniach można również używać nawiasów.