Rational PIC Assembler este un asamblor pentru microcontrolere mid-range de la Microchip. Proiectul foloseste mnemonice stil Intel și-țintă primul operand comanda. Proiectat să se simtă confortabil la programatori asamblare PC.
Acest asamblare generează cod compatibil cu microcontrolere Microchip mediane, dar este incompatibilă cu asamblare lor. Acesta ar trebui să se simtă familiar pentru orice programator de asamblare PC. Mnemotehnica instruire și ordinea operand sunt în stil Intel (de exemplu, "dreapta", spre deosebire de "greșit").
Sintaxă Command Line
pic-asm [c] [filename -l] [-o filename] input_file
-c - modul consolă
o sursă de ansamblu este acceptat de la stdin. cod binar este
ieșire pe stdout. erorile sunt scoase la stderr
filename -l - specifica listă de fișiere
filename -o - specifica obiect fișier
Intrare
Intrarea este o secvență de linii fiecare dintre ele conținând una sau mai multe dintre următoarele domenii
operanzi instruire etichetă; comentariu
Eticheta și comentariu sunt opționale. Operanzii necesare depind de instrucțiuni.
Asamblare este case sensitive, chiar și pentru instrucțiuni.
Constante
Valori hex pot fi specificate cu C-style "0x" [: xdigit:] +. Valorile binare pot fi specificate cu '0b' [01] +. Valori zecimale nu necesita prefix ca zecimal este baza implicit.
Constantele caracter sunt specificate de anexând un singur caracter sau caracter a scăpat în ghilimele simple. Constantele șir sunt specificate de anexând zero sau mai multe caractere și a scăpat de caractere intre ghilimele. Constante șir genera o constantă caracter pentru fiecare caracter în șir. Nu există nici un traseu mobil de zero stocată. De exemplu:
db "Hello worldn", 0, "a", "b", "r", "n", "t"
Etichete
O etichetă este o secvență de caractere alfanumerice (inclusiv underbar), care începe o linie. Etichetele nu au două puncte. Etichete locale la ultima eticheta nelocal poate fi definit prin prefixarea numelui cu un punct. De exemplu
; exemplu din exemplul 1.asm
.1 apel foo
.1 JMP .2
.2 JMP .1
.1 apel bar
.1 JMP .2
.2 JMP .1
În acest exemplu, etichetele definite sunt foo, foo.1, foo.2, bar, bar.1 și bar.2. Primele ramuri apel la foo.1. A doua ramuri apel la bar.1. Etichetele locale pentru "foo" nu poate fi referit înainte de "foo" a fost declarat nici după "bar" a fost declarată.
Directivă
Datele pot fi declarate. Declarator ia locul instrucțiunii și este urmată de una sau mai multe expresii separate prin virgule. Fiecare expresie corespunde un cuvânt în codul de ieșire, indiferent de tipul declarator.
db - fiecare operand este AND-ed cu 0xFF înainte de a fi depozitate
dw - definiție completă 14 bit cuvânt
dt - fiecare operand este AND-ed cu 0xFF și OR-ed cu 0x3400 (Opcode retur cu valoare). Aceasta permite generarea de tabele de caz. Puteți adăuga acumulatorul ("w") la distanta de masa. Procesorul va ramifica la locul în tabelul și să se întoarcă cu un rezultat de opt biți
De exemplu:
db 1,2,3
dw 0x3fff, 0x3ff * 16 + 15, -1
dt 0B001, 0b010, 0b100
Echivaleaza sunt o secvență numit de jetoane. Acestea pot fi definite cu "împ. De exemplu:
led_1 Utilaj 0x100 | 1
led_2 Utilaj 0x100 | 2
Utilaj Combo (led_1) | (led_2)
Poziția org poate fi schimbat cu "org". De exemplu
org 0x10o
Ce este nou în această versiune:
· Această versiune adaugă suport pentru macro-uri sofisticate, includ fișiere, compilare condiționată, și compatibilitatea cu antete Microchip.
Detalii soft:
Versiune: 2.0
Incarca data: 2 Jun 15
Licenţă: Gratuit
Popularitate: 63
Comentariile nu a fost găsit