Rational PIC Assembler ist ein Assembler für die Mid-Range-Mikrocontroller von Microchip. Das Projekt nutzt Intel Stil Mnemotechnik und ziel ersten Operanden Bestellung. Entwickelt, um sich wohl fühlen, um PC-Montage-Programmierer.
Diese Assembler-Code mit Microchip-Mikrocontrollern kompatibel Mittellinie ist aber mit ihren Assembler kompatibel. Es ist zu spüren, das in jeder PC-Montage-Programmierer. Die Befehlsmnemoniks und Operanden-Auftrag sind Intel Art (zB "Recht", im Gegensatz zu "falsch").
Befehlszeilensyntax
pic-asm [-c] [-l Dateiname] [-o Dateiname] input_file
-c - Konsolenmodus
eine Versammlung Quelle von stdin akzeptiert. Binärcode
Ausgabe auf stdout. Fehler werden an stderr
-l Dateiname - Geben Sie Listendatei
-o Dateiname - Geben Sie Objektdatei
Eingang
Die Eingabe ist eine Folge von Linien von denen jede eine oder mehrere der folgenden Bereiche
Label Befehlsoperanden; Kommentar
Das Label und Kommentar sind optional. Die erforderlichen Operanden hängt von dem Befehl.
Der Assembler Groß- und Kleinschreibung, auch für Anweisungen.
Konstanten
[: Xdigit:] + Hex-Werte können mit C-Style '0x' angegeben werden. Binäre Werte können mit "0b" [01] + festgelegt werden. Dezimal-Werte erfordern keine Präfix als Dezimalzahl ist der Standardbasis.
Zeichenkonstanten werden durch Einschließen eines einzelnen Zeichens oder entkommen Zeichen in einfachen Anführungszeichen angegeben. String-Konstanten werden durch Einschließen null oder mehr Zeichen angegeben und geschützte Zeichen in doppelten Anführungszeichen. String-Konstanten erzeugen eine Zeichenkonstante für jedes Zeichen in der Zeichenfolge. Es gibt keine Hinter Null gespeichert. Zum Beispiel:
db "Hallo worldn", 0, 'a', 'b', 'r', 'n', 't'
Labels
Ein Label ist eine Folge von alphanumerischen Zeichen (einschließlich der Unterstrich), die eine Zeile beginnt. Labels haben keine Doppelpunkte. Labels lokalen bis zur letzten nichtlokale Etikett kann durch Voranstellen der Name mit einem Punkt festgelegt werden. Zum Beispiel
; Beispiel aus Beispiel-1.asm
foo Anruf .1
Jmp 0,1 0,2
Jmp 0,2 0,1
bar Aufruf 0,1
Jmp 0,1 0,2
Jmp 0,2 0,1
In diesem Beispiel sind die definierten Etiketten foo, foo.1, foo.2, Bar, bar.1 und bar.2. Der erste Aufruf verzweigt foo.1. Der zweite Aufruf verzweigt bar.1. Die Etiketten lokal 'foo' kann nicht referenziert werden, bevor 'foo' erklärt wurde noch nach 'bar' erklärt wurde.
Richtlinien
Daten deklariert werden. Die declarator tritt an die Stelle des Befehls und wird durch einen oder mehrere Ausdrücke durch Kommas getrennt verfolgt. Jeder Ausdruck entspricht, unabhängig von der Art declarator ein Wort in der Ausgangscode.
db - jeder Operand AND-ed mit 0xff vor der Lagerung
dw - volle 14-Bit-Wort-Definition
dt - jeder Operand AND-ed mit 0xff und OR-ed mit 0x3400 (die Rückkehr mit Werten opcode). Dies erlaubt die Erzeugung Fall Tabellen. Sie können die Akkumulator ("w"), um den Offset der Tabelle hinzuzufügen. Der Prozessor wird zu der Stelle in der Tabelle zu verzweigen und zurück mit einem Acht-Bit-Ergebnis
Zum Beispiel:
db 1,2,3
dw 0x3FFF, 0x3ff * 16 + 15, -1
dt 0B001, 0b010, 0b100
Equates eine benannte Folge von Token. Sie können mit "EQU" definiert werden. Zum Beispiel:
LED_1 equ 0x100 | 1
LED_2 equ 0x100 | 2
Combo G (LED_1) | (LED_2)
Die org Position kann mit "org" geändert werden. Zum Beispiel
org 0x10o
Was ist neu in dieser Version:
· Diese Version unterstützt anspruchsvolle Makros, Include-Dateien, die bedingte Kompilierung und die Kompatibilität mit Microchip-Header.
Softwarebeschreibung:
Version: 2.0
Upload-Datum: 2 Jun 15
Lizenz: Frei
Popularität: 63
Kommentare nicht gefunden