ASSEM: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Linia 19: | Linia 19: | ||
** '''-k''' - użycie mnemoników K-202 (zamiast domyślnych, MERY-400) | ** '''-k''' - użycie mnemoników K-202 (zamiast domyślnych, MERY-400) | ||
** '''-c''' - użycie składni klasycznej (zamiast domyślnej, współczesnej) | ** '''-c''' - użycie składni klasycznej (zamiast domyślnej, współczesnej) | ||
** '''-l''' - zapisanie do pliku '''wyjście.lab''' użytych etykiet i ich adresów | ** '''-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''' | ** '''-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) | ** '''-2''' - użycie w wyjściu preprocesora mnemoników K-202 (zamiast domyślnych, MERY-400) |
Wersja z 11:36, 11 lip 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 ASSEM 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 [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)
- -c - użycie składni klasycznej (zamiast domyślnej, współczesnej)
- -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
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).
- Stałe można zapisywać również w notacji szesnastkowej i binarnej.
- 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.
- Rozkazy bezargumentowe nie wymagają kończenia ich napisem ",0".
- Zmienne i etykiety definiowane są jako globalne przez poprzedzenie ich nazwy znakiem "@".