3012
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 3 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
EMAS jest assemblerem skrośnym dla komputera MERA 400, używającym (w odróżnieniu od [[ASSEM]]) składni bliższej współczesnym assemblerom, oraz mnemoników MERY 400 (ale bez przyrostków zależnych od lokalizacji argumentu, patrz: [[Lista rozkazów]]). | EMAS jest assemblerem skrośnym dla komputera MERA 400, używającym (w odróżnieniu od [[ASSEM]]) składni bliższej współczesnym assemblerom, oraz mnemoników MERY 400 (ale bez przyrostków zależnych od lokalizacji argumentu, patrz: [[Lista rozkazów]]). | ||
Repozytorium źródeł EMAS: https://github.com/jakubfi/emas | Repozytorium źródeł EMAS-a dostępne jest pod adresem: https://github.com/jakubfi/emas | ||
= Wywołanie = | = Wywołanie = | ||
Linia 80: | Linia 80: | ||
'ab', '\r\n', '\xaa\0001' | 'ab', '\r\n', '\xaa\0001' | ||
kodowane są jako wartości podanych znaków w kodzie ASCII odpowiednio na starszym i młodszym bajcie słowa | kodowane są jako wartości podanych znaków w kodzie ASCII odpowiednio na starszym i młodszym bajcie słowa. | ||
=== Liczby zmiennoprzecinkowe === | === Liczby zmiennoprzecinkowe === | ||
Linia 188: | Linia 184: | ||
lw r2, zmienna.b | lw r2, zmienna.b | ||
=== | === Widoczność symboli dla konsolidatora === | ||
Wszystkie symbole definiowane są jako | Wszystkie symbole definiowane są jako widoczne wyłącznie w ramach asemblowanego obiektu. Jeśli symbol ma być widoczny dla konsolidatora, należy go zadeklarować jako zewnętrzny dyrektywą '''.global'''. Zmiana zasięgu może nastąpić przed, lub po definicji: | ||
.global printf | .global printf | ||
Linia 274: | Linia 270: | ||
Ustala wartość stałej assemblacji. Wartość ta nie może ulec zmianie. | Ustala wartość stałej assemblacji. Wartość ta nie może ulec zmianie. | ||
Zapisuje w programie wynikowym na prawych pozycjach (LSB) kolejnych słów podane wartośći 8-bit. | Zapisuje w programie wynikowym na prawych pozycjach (LSB) kolejnych słów podane wartośći 8-bit. | ||
Linia 316: | Linia 302: | ||
Zapisuje w programie wynikowym podany łańcuch, kodując go po dwa znaki ASCII na słowo maszynowe. Łańcuch terminowany jest 8-bit wartością '0'. | Zapisuje w programie wynikowym podany łańcuch, kodując go po dwa znaki ASCII na słowo maszynowe. Łańcuch terminowany jest 8-bit wartością '0'. | ||
=== .res === | === .res === | ||
Linia 345: | Linia 325: | ||
'''Składnia:''' .global ''nazwa_etykiety'' | '''Składnia:''' .global ''nazwa_etykiety'' | ||
Dyrektywa ma efekt wyłącznie w przypadku generowania pliku wynikowego jako obiektu EMELF. Wskazuje, że | Dyrektywa ma efekt wyłącznie w przypadku generowania pliku wynikowego jako obiektu EMELF. Wskazuje, że symbol będzie widoczny dla linkera. | ||
=== .ifdef, .ifndef === | === .ifdef, .ifndef === |