Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

crasm - Online w chmurze

Uruchom crasm w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to zestaw poleceń, który można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


crasm - Monter krzyżowy do 6800/6801/6803/6502/65C02/Z80

STRESZCZENIE


skurcz [-lub plik kodu] [-slx] plik asm

Złóż program mikroprocesora plik asm i wygeneruj plik wyjściowy plik kodu w Intel HEX
lub Motorola S Code. Lista programów i tabela symboli są również tworzone na
standardowe wyjście. Obecna wersja skurcz potrafi montować programy dla 6800, 6801,
6803, 6502, 65C02, i Z80 procesory. Pełna lista jest drukowana po wywołaniu skurcz
bez argumentów.

OPCJE


-o plik kodu
Określ nazwę pliku wyjściowego. Bez tego żaden plik wyjściowy nie jest tworzony
opcja.

-s Wyłącz ostrzeżenia.

-l Wyłącz wyświetlanie listy programów.

-x Wyłącz wyświetlanie tabeli symboli.

SKŁADNIA


Każda linia programu montażowego powinna być zgodna z jednym z następujących szablonów, gdzie
nawiasy ograniczają części opcjonalne.

[;komentarz]
etykieta = wyrażenie [;komentarz]
[etykieta] mnemoniczny operand [;komentarz]

Komentarze są wprowadzane średnikiem (;) i przedłużyć do końca wiersza. Etykiety są
identyfikatory zawierające do 36 znaków alfanumerycznych (w tym kropka i podkreślenie).
Etykiety nie mogą zaczynać się od cyfry. Format pola mnemoników i operandów zależy
na wybranym mikroprocesorze. Kilka mnemoników jest ważnych dla wszystkich procesorów i tak jest
używany do wydawania dyrektyw zgromadzonym. Są one znane jako „pseudo-mnemoniki”.

Etykiety
Etykiety to identyfikatory reprezentujące
— adres bezwzględny,
— adres względny (kod niezależny od pozycji),
— rejestr,
— wykaz rejestrów,
— określony bit pod określonym adresem,
— lub mnemonik.

Większość etykiet składa się z co najwyżej 36 znaków alfanumerycznych, kropek (.) lub
podkreślenia (_). Etykiety nie mogą zaczynać się od cyfry. Wielkość liter nie jest rozróżniana.

Etykiety zaczynające się od kropki (.) to lokalne etykiety, których zakres jest ograniczony do
makra, w którym są zdefiniowane, lub do segmentu kodu ograniczonego przez pseudomnemoniki
KOD or MANEKIN.

Wstępnie zdefiniowana etykieta „gwiazdka” (*) reprezentuje bieżący licznik programu, tj.
adres, pod którym zostanie zakodowana następna instrukcja kodu asemblera. Inne predefiniowane
etykiety obejmują wszystkie pseudomnemoniki, mnemoniki specyficzne dla mikroprocesorów i rejestr
nazwy.

Stałe
Zmontowany rozpoznaje stałe liczbowe wyrażone w systemie dziesiętnym, szesnastkowym, ósemkowym,
binarny lub ascii.

┌─────────────────────────────────────── ───────────────────┐
Rodzaj Nieruchomości utworzony Przykłady
├─────────────────────────────────────── ───────────────────┤
│ dziesiętny dddd 1234, 675, 12, 1, Lecz nie 0.12. │.
├─────────────────────────────────────── ───────────────────┤
│szesnastkowy $dddd $fd12, $2 AC, $0. │.
ddddH 03H, 2da7H, 0FC84H, Lecz nie FC84H. │.
0Xdddd 0x03, 0x2AC, 0Xfc84. │.
├─────────────────────────────────────── ───────────────────┤
│ósemkowy ddddQ 377Q, 012412Q. │.
├─────────────────────────────────────── ───────────────────┤
│binarny %dddd % 01110110, % 1100. │.
ddddB 01110110B, 1100B. │.
0Bdddd 0b1100
├─────────────────────────────────────── ───────────────────┤
│ascii 'cccc' 'A', „AB”, „””, '\n', '\''. │.
"cccc" "\T", "\"", "a'b". │.
└─────────────────────────────────────── ────────── ─────────┘
Expressions
Podobnie jak etykiety, wyrażenia mogą reprezentować adres bezwzględny (abs), adres względny dla
kod niezależny od pozycji (rel), rejestr (reg) lub listę rejestrów (rejestr) lub
odniesienie do określonego bitu pod określonym adresem (bspec).

Następujące operatory są rozpoznawane w wyrażeniach.

┌─────────────────────────────────────── ────────── ──────────┐
Składnia Wynik Opis
├─────────────────────────────────────── ────────── ──────────┤
abs{abs} bspec odniesienie bitowe, np plac{3}
ADRES(abs) abs adres z referencji bitowej │
FRAGMENT(abs) abs numer bitu z referencji bitowej │
├─────────────────────────────────────── ────────── ──────────┤
- abs abs uzupełnienie do dwóch │
~ abs abs dopełnienie │
├─────────────────────────────────────── ────────── ──────────┤
abs << abs abs przesunięcie w lewo │
abs >> abs abs przesunięcie w prawo │
├─────────────────────────────────────── ────────── ──────────┤
abs | abs abs bitowe lub │
abs & abs abs bitowe i │
abs ^ abs abs bitowe xor │
├─────────────────────────────────────── ────────── ──────────┤
abs * abs abs mnożenie │
abs * abs abs podział │
├─────────────────────────────────────── ────────── ──────────┤
abs + abs abs dodatek │
rel + abs rel dodatek │
abs - abs abs odejmowanie │
rel - abs rel odejmowanie │
rel - rel abs odejmowanie │
├─────────────────────────────────────── ────────── ──────────┤
reg - reg rejestr zakres rejestrów │
rejestr \ reg rejestr lista rejestrów │
└─────────────────────────────────────── ────────── ──────────┘
W tabeli wymieniono operatory w kolejności malejącego pierwszeństwa. Można użyć nawiasów
uniknąć niejasności. Ostrzeżenie jest generowane, gdy całe wyrażenie jest otoczone znakiem
nawiasach i może być mylony z trybem adresowania mikroprocesora.

Przykłady:

(podstawa + 12 USD) >> 8 & 0xff00
'A'-80H
(podstawa+0x12)

Ostatni przykład powoduje ostrzeżenie, ponieważ nawiasy nie były konieczne i mogą
zasugerować tryb adresowania mikroprocesora.

Wszystkie wyrażenia arytmetyczne są oceniane na 32 bitach. Przepełnienie operacji arytmetycznych
bezgłośnie. Wartości arytmetyczne są następnie obcinane do rozmiaru sugerowanego przez mikro-
mnemonik procesora. To obcięcie może spowodować wyświetlenie komunikatu ostrzegawczego.

Przykłady: wszystkie poniższe instrukcje

(6502) Lda # 1234 USD
(6800) lda 1234 USD x
(Z80) ld (ix+0C2H),b

spowodować ostrzeżenie

>>> UWAGA: operand przelewowy

Jednak ekspresja

$1123454 * 1298992

przelewa się po cichu.

Pseudo-mnemoniki
Następujące pseudomnemoniki są zawsze rozpoznawane.

CPU nazwa procesora
Wskazuje wybrany typ mikroprocesora. To musi pojawić się przed mikro-
instrukcja specyficzna dla procesora. Możliwe wartości nazwa procesora są wymienione, gdy ty
odwołać się skurcz bez argumentów. Aktualna lista zawiera 6800, 6801, 6803, 6502,
65C02, i Z80

WYDAJNOŚĆ bininformat
Wskazuje format pliku wyjściowego. Argument bininformat może przyjmować wartości KOD
do tworzenia pliku wyjściowego przy użyciu kodu S firmy Motorola lub HEX dla Hexa Intela
format. Wartość domyślna zależy od wybranego mikroprocesora.

KOD
Wyznacz zakres lokalnych etykiet i wprowadź sekcję programową.

MANEKIN Wyznacz zakres lokalnych etykiet i wprowadź fałszywą sekcję programu, której wyłączność
efektem jest zdefiniowanie etykiet bez generowania kodu.

etykieta RÓWNY wyrażenie
etykieta = wyrażenie
Zdefiniuj wartość etykiety etykieta. Etykiety zdefiniowane za pomocą tych dyrektyw mogą być
przedefiniowane w dalszej części programu.

[etykieta] DB wyrażenie[,...,wyrażenie]
Wstaw określone bajty danych (8 bitów).

[etykieta] DW wyrażenie[,...,wyrażenie]
Wstaw określone słowa danych (16 bitów). Kolejność bajtów zależy od
wybrany mikroprocesor.

[etykieta] DL wyrażenie[,...,wyrażenie]
Wstaw podane długości danych (32 bity). Kolejność bajtów zależy od
wybrany mikroprocesor.

[etykieta] DDB wyrażenie[,...,wyrażenie]
Wstaw podane podwójne bajty (16 bitów). Kolejność bajtów jest odwrotna
zwykłej kolejności bajtów dla wybranego mikroprocesora.

[etykieta] ROSNĄCO stała łańcuchowa
Wstaw reprezentację ciągu ASCII stała łańcuchowa . Ciąg musi być
rozdzielone podwójnymi cudzysłowami. Sekwencje ucieczki C \r, \n, \t, \0, \', \", \\
są rozpoznawane.

[etykieta] DS wyrażenie przeciwne,[walekspr]
Wstaw wyrażenie przeciwne bajty z wartością walekspr. Wartość domyślna to zero.

[etykieta] WYRÓWNAĆ NAWET
[etykieta] WYRÓWNAĆ ODD
Wstaw bajt zerowy, aby licznik programu był parzysty lub nieparzysty.

IF kondekspr
...
ELSE
...
KONIEC
Montaż warunkowy: If wyrażenie kondekspr jest różny od zera, przetwarzaj znajdujące się linie
między IF oraz ELSE pseudomnemoniki. W przeciwnym razie przetwórz znajdujące się linie
między ELSE oraz KONIEC pseudomnemoniki. Instrukcje montażu warunkowego
mogą być zagnieżdżone. The ELSE część można pominąć.

etykieta MAKRO
...
KONIEC
Zdefiniuj nowy mnemonik etykieta równoważne wszystkim instrukcjom znajdującym się pomiędzy
MAKRO i KONIEC pseudomnemoniki. Wywołania makra mogą określać listę
operandy oddzielone przecinkami. Sekwencje znaków \1, \2... \N w makro
definicji są zastępowane dostarczonymi argumentami. Sekwencja znaków \0 is
zastąpione przez liczbę dostarczonych operandów.

WYJŚCIE
Ten pseudomnemonik może być użyty wewnątrz definicji makra, aby wyjść z makra. Ten
jest użyteczna w połączeniu z pseudo-mnemonikami składania warunkowego.

ZAWIERAJĄ filename
Zmuś asembler do przetworzenia pliku o nazwie filename w obecnym punkcie.

WYKAZ ON
WYKAZ OFF
Włącz lub wyłącz tworzenie aukcji (domyślnie włączone).

KLISTA ON
KLISTA OFF
Włącz lub wyłącz tworzenie wykazu dla nieaktywnych oddziałów a
konstrukcja złożenia warunkowego (domyślnie jest włączona).

LISTA ON
LISTA OFF
Włącz lub wyłącz tworzenie listy dla dołączonych plików (domyślnie jest wyłączone).

LISTA ML ON
LISTA ML OFF
Włącz lub wyłącz tworzenie listy dla rozszerzeń makr (domyślnie jest to
wyłączony.)

NAM tytuł
Podaj nazwę tytuł dla nagłówka stron z listami.

STRONA
Rozpocznij nową stronę z listą.

STRONA kolumny,wydziwianie
Określ rozmiar strony z listą.

POMINĄĆ numer
Skip numer kwestia.

FAIL wiadomość
Wygeneruj komunikat o błędzie wiadomość.

PRZYKŁAD


Oto mały program 6502:

cpu 6502
cout = $fded ; pokaz a charakter
* = $300 ; montować at $300
kod
ciąg Idy #0
.1 Lda wiadomość, j
beq .2
jsr cout
tak
.2 bn .1
rts
wiadomość asc "To is dotychczasowy wiadomość "
kod

KREDYTY


Leon Bottou, wrzesień 1987.

Korzystaj z crasm online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    Phaser
    Phaser
    Phaser to szybka, darmowa i zabawna gra otwarta
    źródłowa struktura gry HTML5, która oferuje
    Renderowanie WebGL i Canvas w poprzek
    przeglądarek internetowych na komputery i urządzenia mobilne. Gry
    może być współ...
    Pobierz Phaser
  • 2
    Silnik WASAL
    Silnik WASAL
    VASSAL to silnik gry do tworzenia
    elektroniczne wersje tradycyjnej tablicy
    i gry karciane. Zapewnia wsparcie dla
    renderowanie elementów gry i interakcja,
    i ...
    Pobierz silnik VASSAL
  • 3
    OpenPDF — rozwidlenie iText
    OpenPDF — rozwidlenie iText
    OpenPDF to biblioteka Java do tworzenia
    i edycji plików PDF z LGPL i
    Licencja open source MPL. OpenPDF to
    LGPL/MPL open source następca iText,
    w ...
    Pobierz OpenPDF — rozwidlenie iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System do Automatyzacji
    Analizy geologiczne - to geografia
    Oprogramowanie systemu informacyjnego (GIS) z
    ogromne możliwości geodanych
    przetwarzanie i an...
    Pobierz SAGA GIS
  • 5
    Przybornik dla Java/JTOOpen
    Przybornik dla Java/JTOOpen
    IBM Toolbox for Java / JTOpen to
    biblioteka klas Java obsługująca
    klient/serwer i programowanie internetowe
    modeli do systemu z systemem OS/400,
    i5/OS, lub...
    Pobierz Zestaw narzędzi dla języka Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (lub D3 dla dokumentów opartych na danych)
    to biblioteka JavaScript, która pozwala
    do tworzenia dynamicznych, interaktywnych danych
    wizualizacje w przeglądarkach internetowych. Z D3
    ty...
    Pobierz plik D3.js
  • więcej »

Komendy systemu Linux

Ad