ASSEM: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
 
(Nie pokazano 8 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
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:
ASSEM jest assemblerem skrośnym, pozwalającym budować binaria dla MERY-400 na komputerze PC. Pozwala na użycie mnemoników zarówno K-202 jak i MERY 400, w klasycznej składni, znanej z ASSM i ASSK. Domyślnie ASSEM pracuje z mnenomikami MERY-400. Zachowanie to można zmienić używając odpowiednich przełączników w linii poleceń.
* 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ń
Repozytorium źródeł ASSEM: https://github.com/jakubfi/assem


= Wywołanie =
= Wywołanie =
Linia 11: Linia 7:
Wywołanie ASSEM z linii poleceń ma postać:
Wywołanie ASSEM z linii poleceń ma postać:


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


Gdzie:
Gdzie:
* '''wejście.asm''' - źródłowy plik wejściowy
* '''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'''
* '''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
* '''opcje''' - dowolne z:
* '''-h''' - wyświetl pomoc i zakończ działanie
** '''-k''' - użycie mnemoników K-202 (zamiast domyślnych, MERY-400)
* '''-d''' - tryb gadatliwy pracy assemblera; na ekran drukowane są informacje o przebiegu assemblacji
** '''-l''' - zapisanie do pliku '''wyjście.lab''' użytych etykiet i ich adresów, oraz zmiennych wewnętrznych assemblera
* '''-k''' - użycie mnemoników K-202 (zamiast domyślnych, MERY-400)
** '''-p''' - zapisanie wyjścia preprocesora do pliku '''wyjście.pp.asm'''
* '''-c''' - użycie składni klasycznej (zamiast domyślnej, współczesnej)
** '''-2''' - użycie w wyjściu preprocesora mnemoników K-202 (zamiast domyślnych, MERY-400)
* '''-p''' - zapisanie wyjścia preprocesora do pliku '''wyjście.pp.asm'''
** '''-v''' - wyświetl informację o wersji i zakończ działanie
* '''-2''' - użycie w wyjściu preprocesora mnemoników K-202 (zamiast domyślnych, MERY-400)
** '''-h''' - wyświetl pomoc i zakończ działanie
** '''-d''' - tryb gadatliwy pracy assemblera; na ekran drukowane są informacje o przebiegu assemblacji


= Różnice względem ASSK i ASSM =
= 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:
* 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:
Linia 32: Linia 27:
** ASSK: F*, T*, NTRAC*, TRAC*, NAME*, BA*, HS*, E*
** ASSK: F*, T*, NTRAC*, TRAC*, NAME*, BA*, HS*, E*
* Komentarze w nawiasach ostrych nie są wyprowadzane na ekran.
* 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.

Aktualna wersja na dzień 18:41, 9 sty 2016

ASSEM jest assemblerem skrośnym, pozwalającym budować binaria dla MERY-400 na komputerze PC. Pozwala na użycie mnemoników zarówno K-202 jak i MERY 400, w klasycznej składni, znanej z ASSM i ASSK. Domyślnie ASSEM pracuje z mnenomikami MERY-400. Zachowanie to można zmienić używając odpowiednich przełączników w linii poleceń.

Repozytorium źródeł ASSEM: https://github.com/jakubfi/assem

Wywołanie

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

assem [opcje] <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
  • opcje - dowolne z:
    • -k - użycie mnemoników K-202 (zamiast domyślnych, MERY-400)
    • -l - zapisanie do pliku wyjście.lab użytych etykiet i ich adresów, oraz zmiennych wewnętrznych assemblera
    • -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)
    • -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

Różnice względem ASSK i ASSM

  • 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.