EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

crasm - Online in der Cloud

Führen Sie Crasm im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehlskram, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


crasm - Kreuzmontagegerät für 6800/6801/6803/6502/65C02/Z80

ZUSAMMENFASSUNG


Krass [-oder Codedatei] [-slx] asmdatei

Stellen Sie das Mikroprozessorprogramm zusammen asmdatei und Ausgabedatei erstellen Codedatei in Intel-HEX
oder Motorola S Code-Format. Ein Programmverzeichnis und eine Symboltabelle werden ebenfalls auf der Seite erstellt
Standardausgabe. Die aktuelle Version von Krass kann Programme für die 6800, 6801,
6803, 6502, 65C02, und Z80 Prozessoren. Die vollständige Liste wird gedruckt, wenn Sie aufrufen Krass
ohne Argumente.

OPTIONAL


-o Codedatei
Geben Sie den Namen der Ausgabedatei an. Ohne dies wird keine Ausgabedatei erstellt
.

-s Warnungen deaktivieren.

-l Deaktivieren Sie die Ausgabe der Programmliste.

-x Deaktivieren Sie die Symboltabellenausgabe.

SYNTAX


Jede Zeile des Montageprogramms sollte einer der folgenden Vorlagen folgen, wobei die
Klammern begrenzen optionale Teile.

[;Kommentar]
Etikette = Ausdruck [;Kommentar]
[Etikette] mnemotechnik Operand [;Kommentar]

Kommentare werden durch ein Semikolon (;) und bis zum Ende der Zeile verlängern. Etiketten sind
Bezeichner mit bis zu 36 alphanumerischen Zeichen (einschließlich Punkt und Unterstrich).
Labels dürfen nicht mit einer Ziffer beginnen. Das Format des Mnemonik- und Operandenfeldes ist abhängig
auf dem ausgewählten Mikroprozessor. Einige Merkzeichen gelten für alle Prozessoren und sind
verwendet, um den Versammelten Anweisungen zu geben. Diese werden als "Pseudo-Mnemonik" bezeichnet.

Etiketten
Labels sind Bezeichner für
— eine absolute Adresse,
— eine relative Adresse (positionsunabhängiger Code),
- ein Register,
— eine Liste von Registern,
— ein bestimmtes Bit an einer bestimmten Adresse,
– oder eine Gedächtnisstütze.

Die meisten Etiketten bestehen aus höchstens 36 alphanumerischen Zeichen, Punkten (.oder
unterstreicht (_). Labels dürfen nicht mit einer Ziffer beginnen. Die Groß-/Kleinschreibung wird nicht beachtet.

Labels, die mit einem Punkt beginnen (.) sind lokale Labels, deren Geltungsbereich entweder auf die
Makro, in dem sie definiert sind, oder auf das Codesegment, das durch die Pseudo-Mnemonik begrenzt ist
CODE or DUMMY.

Das vordefinierte "Stern"-Label (*) stellt den aktuellen Programmzähler dar, d.h.
die Adresse, an der der nächste Assemblercode-Befehl codiert wird. Andere vordefinierte
Labels beinhalten alle Pseudo-Mnemonik, mikroprozessorspezifische Mnemonik und Register
Namen.

Konstante
Das Assembler erkennt numerische Konstanten in dezimal, hexadezimal, oktal,
binär oder ascii.

┌───────────────────────────────────────────────── ─────────┐
Typ Format Beispiele
├───────────────────────────────────────────────── ─────────┤
dezimal dddd 1234, 675, 12, 1, Aber nicht 0.12. │.
├───────────────────────────────────────────────── ─────────┤
│hexadezimal $dddd $fd12, 2AC $, $0. │.
ddddH 03H, 2da7H, 0FC84H, Aber nicht FC84H. │.
0Xdddd 0x03, 0x2AC, 0Xfc84. │.
├───────────────────────────────────────────────── ─────────┤
oktal ddddQ 377Q, 012412Q. │.
├───────────────────────────────────────────────── ─────────┤
│binär %dddd %01110110, %1100. │.
ddddB 01110110 Mrd, 1100 Mrd. │.
0Bdddd 0b1100
├───────────────────────────────────────────────── ─────────┤
ascii 'cccc' 'A', 'AB', '"', '\n', '\''. │.
"cccc" "\T", "\"", "ab". │.
└───────────────────────────────────────────────── ─────────┘
Ausdrücke
Wie Labels können Ausdrücke eine absolute Adresse darstellen (abs), eine relative Adresse für
Positionsunabhängiger Code (rel), ein Register (reg) oder eine Liste von Registern (registrieren), oder ein
Verweis auf ein bestimmtes Bit an einer bestimmten Adresse (bspez).

Die folgenden Operatoren werden in Ausdrücken erkannt.

┌───────────────────────────────────────────────── ──────────┐
Syntax Ergebnis Beschreibung
├───────────────────────────────────────────────── ──────────┤
abs{abs} bspez Bitreferenz, zB Pia{3}
ADR(abs) abs Adresse aus einer Bitreferenz │
BISSCHEN(abs) abs Bitnummer aus einer Bitreferenz │
├───────────────────────────────────────────────── ──────────┤
- abs abs Zweierkomplement │
~ abs abs seine Ergänzung │
├───────────────────────────────────────────────── ──────────┤
abs << abs abs Linksverschiebung
abs >> abs abs Rechtsverschiebung
├───────────────────────────────────────────────── ──────────┤
abs | abs abs bitweise oder
abs & abs abs bitweise und
abs ^ abs abs bitweise xor │
├───────────────────────────────────────────────── ──────────┤
abs * abs abs Multiplikation │
abs * abs abs Teilung │
├───────────────────────────────────────────────── ──────────┤
abs + abs abs Ergänzung │
rel + abs rel Ergänzung │
abs - abs abs Subtraktion │
rel - abs rel Subtraktion │
rel - rel abs Subtraktion │
├───────────────────────────────────────────────── ──────────┤
reg - reg registrieren Registerbereich │
registrieren \ reg registrieren Liste registrieren │
└───────────────────────────────────────────────── ──────────┘
Die Tabelle listet die Operatoren in absteigender Reihenfolge auf. Klammern können verwendet werden, um
vermeiden Sie Unklarheiten. Eine Warnung wird generiert, wenn ein ganzer Ausdruck von umgeben ist
Klammer und kann mit einem Mikroprozessor-Adressierungsmodus verwechselt werden.

Beispiele:

(Basis+$12) >> 8 & 0xff00
'A'-80H
(Basis+0x12)

Das letzte Beispiel führt zu einer Warnung, da die Klammern nicht erforderlich waren und möglicherweise
schlagen einen Mikroprozessor-Adressierungsmodus vor.

Alle arithmetischen Ausdrücke werden auf 32 Bit ausgewertet. Überlauf der arithmetischen Operationen
schweigend. Die arithmetischen Werte werden dann auf die Größe gekürzt, die durch die Mikro-
Prozessor mnemonik. Diese Kürzung kann eine Warnmeldung verursachen.

Beispiele: alle folgenden Anweisungen

(6502) LDA # $ 1234
(6800) ldaa 1234,x $
(Z80) ld (ix+0C2H),b

eine Warnung auslösen

>>> WARNUNG: Operand Überlauf

Jedoch Ausdruck

$1123454 * 1298992

läuft lautlos über.

Pseudo-Mnemonik
Die folgenden Pseudo-Mnemoniken werden immer erkannt.

CPU CPU-Name
Zeigt den ausgewählten Mikroprozessortyp an. Dies muss erscheinen, bevor anu Mikro-
prozessorspezifische Anweisung. Die möglichen Werte von CPU-Name werden aufgelistet, wenn Sie
aufrufen Krass ohne Argumente. Die aktuelle Liste enthält 6800, 6801, 6803, 6502,
65C02, und Z80

AUSGABE Binformat
Gibt das Format der Ausgabedatei an. Streit Binformat kann Werte annehmen SCODE
zum Erstellen einer Ausgabedatei mit dem S-Code von Motorola, oder HEX für Intels Hex
Format. Die Vorgabe hängt vom ausgewählten Mikroprozessor ab.

CODE
Grenzen Sie den Umfang lokaler Labels ab und führen Sie einen Programmteil ein.

DUMMY Grenzen Sie den Umfang lokaler Labels ein und führen Sie einen gefälschten Programmteil ein, dessen einzige
Effekt besteht darin, Labels zu definieren, ohne Code zu generieren.

Etikette EQU Ausdruck
Etikette = Ausdruck
Definieren Sie den Wert des Labels Etikette. Labels, die mit diesen Direktiven definiert werden, können sein:
später im Programm neu definiert.

[Etikette] DB Ausdruck[,...,Ausdruck]
Fügen Sie die angegebenen Datenbytes (8 Bits) ein.

[Etikette] DW Ausdruck[,...,Ausdruck]
Fügen Sie die angegebenen Datenwörter (16 Bit) ein. Die Byte-Reihenfolge hängt von der
ausgewählten Mikroprozessor.

[Etikette] DL Ausdruck[,...,Ausdruck]
Fügen Sie die angegebenen Datenlängen (32 Bit) ein. Die Byte-Reihenfolge hängt von der
ausgewählten Mikroprozessor.

[Etikette] DDB Ausdruck[,...,Ausdruck]
Fügen Sie die angegebenen Doppelbytes (16 Bit) ein. Die Byte-Reihenfolge ist das Gegenteil von
die übliche Byte-Reihenfolge für den ausgewählten Mikroprozessor.

[Etikette] ASC Saitenkonstante
Fügen Sie die ASCII-Darstellung des Strings ein Saitenkonstante . Die Zeichenfolge muss sein
durch doppelte Anführungszeichen getrennt. Die C-Escape-Sequenzen \r, \n, \t, \0, \', \" und \\
sind erkannt.

[Etikette] DS Zählausdruck,[Wertausdr]
Einfügen Zählausdruck Byte mit Wert Wertausdr. Der Standardwert ist Null.

[Etikette] AUSRICHTEN SELBST
[Etikette] AUSRICHTEN ODD
Fügen Sie ein Null-Byte ein, um den Programmzähler gerade oder ungerade zu machen.

IF konexpr
...
ELSE
...
ENDC
Bedingte Assemblierung: If-Ausdruck konexpr ungleich Null ist, verarbeiten Sie die gefundenen Zeilen
zwischen den IF und dem ELSE Pseudo-Mnemonik. Ansonsten die gefundenen Zeilen bearbeiten
zwischen den ELSE und dem ENDC Pseudo-Mnemonik. Bedingte Montageanleitung
verschachtelt werden kann. Die ELSE Teil kann weggelassen werden.

Etikette MAKRO
...
ENDM
Definiere eine neue Gedächtnisstütze Etikette entspricht allen Anweisungen zwischen den
MAKRO und ENDM Pseudo-Mnemonik. Aufrufe des Makros können eine Liste von
durch Kommas getrennte Operanden. Die Zeichenfolgen \1, \2... \N im Makro
Definition werden durch die mitgelieferten Operanden ersetzt. Die Zeichenfolge \0 is
durch die Anzahl der gelieferten Operanden ersetzt.

EXITM
Diese Pseudo-Mnemonik kann innerhalb einer Makrodefinition verwendet werden, um das Makro zu verlassen. Dies
ist in Verbindung mit der bedingten Assembler-Pseudo-Mnemonik nützlich.

eNTHALTEN Dateinamen
Zwingen Sie den Assembler, die Datei namens . zu verarbeiten Dateinamen am aktuellen Punkt.

LISTE ON
LISTE OFF
Aktivieren oder deaktivieren Sie die Erstellung eines Inserats (die Standardeinstellung ist aktiviert).

CLIST ON
CLIST OFF
Aktivieren oder deaktivieren Sie die Erstellung einer Auflistung für die nicht aktiven Zweige von a
Bedingtes Assembly-Konstrukt (Standard ist aktiviert.)

ILIST ON
ILIST OFF
Aktivieren oder deaktivieren Sie die Erstellung einer Liste für eingeschlossene Dateien (Standard ist deaktiviert.)

MLISTE ON
MLISTE OFF
Aktivieren oder deaktivieren Sie die Erstellung einer Auflistung für die Makroerweiterungen (Standard ist
aus.)

NAM Titel
Namen angeben Titel für die Kopfzeile der Auflistungsseiten.

SEITE
Starten Sie eine neue Auflistungsseite.

SEITE Spalten,Reihen
Geben Sie die Größe einer Auflistungsseite an.

SKIP Anzahl
überspringen Anzahl Linien.

FAIL Nachricht
Erzeuge eine Fehlermeldung Nachricht.

BEISPIEL


Hier ist ein kleines 6502-Programm:

CPU 6502
Cout = $fded ; Display a Charakter
* = $300 ; montieren at $300
Code
pstring ldy #0
.1 LDA Nachricht, ja
Beq .2
jsr Cout
In
.2 Gut .1
rts
Nachricht asc "Diese is Nachricht "
Code

CREDITS


Leon Bottou, September 1987.

Verwenden Sie Crasm online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad