Rational PIC Assembler er en assembler for mellomtoner mikrokontrollere fra Microchip. Prosjektet bruker Intel stil huskeregler og target-første operanden bestilling. Designet for å føle seg komfortabel til PC monterings programmerere.
Dette assembler genererer kode kompatibel med Microchips midtlinjemikrokontrollere, men er uforenlig med deres assembler. Det skulle være kjent til enhver PC forsamlingen programmerer. Instruksjonshuskeregler og operand orden er Intel Stil (dvs. "rett", i motsetning til "feil").
Command Line Syntax
pic-asm [c] [l filnavn] [-o filnavn] input_file
-c - konsollmodus
en forsamling kilden er akseptert fra stdin. binær kode er
utgang på stdout. feil er utgang til stderr
-Jeg filnavn - angi notering fil
-o filnavn - angi objekt fil
Input
Inngangen er en sekvens av linje som hver inneholder en eller flere av de følgende felt
etiketten Instruksjonsoperander; kommentar
Etiketten og kommentaren er valgfrie. Operander som kreves avhenger av undervisningen.
Assembler er store og små bokstaver, selv for instruksjoner.
Konstanter
Hex verdier kan angis med C-stil "0x" [: xdigit:] +. Binære verdier kan angis med '0b' [01] +. Desimalverdier krever ingen prefiks som desimal er standard basen.
Character konstanter er spesifisert av omslutter et enkelt tegn eller rømt tegn i enkle anførselstegn. String konstanter spesifiseres ved å kapsle null eller flere tegn og rømte tegn i anførselstegn. String konstanter generere ett tegn konstant for hvert tegn i strengen. Det er ingen etterfølgende null lagret. For eksempel:
db "Hello worldn", 0, 'a', 'b', 'r', 'n', 't'
Etiketter
En etikett er en sekvens av alfanumeriske tegn (inkludert underbar) som starter en linje. Etiketter ikke har kolon. Etiketter lokale til det siste nonlocal etiketten kan defineres med prefikset navnet med en prikk. For eksempel
; eksempel fra eksempel-1.asm
foo samtale 0,1
0,1 JMP 0,2
0,2 JMP 0,1
bar samtalen 0,1
0,1 JMP 0,2
0,2 JMP 0,1
I dette eksempelet etikettene definerte er foo, foo.1, foo.2, bar, bar.1, og bar.2. Den første samtalen grener til foo.1. Den andre samtalen grener til bar.1. Etikettene lokale til 'foo' kan ikke refereres før 'foo' har blitt erklært eller etter "bar" har blitt erklært.
Direktiver
Data kan bli erklært. Den declarator tar plassen til undervisningen og etterfølges av ett eller flere uttrykk adskilt med komma. Hvert uttrykk tilsvarer ett ord i utgangskode uavhengig av declarator type.
db - hver operand er OG-ed med 0xff før de blir lagret
dw - full 14-bits ord definisjon
dt - hver operand er OG-ed med 0xff og OR-ed med 0x3400 (retur-med-verdi opcode). Dette tillater generering av case tabeller. Du kan legge akkumulatoren ('w') til forskyvningen av tabellen. Prosessoren vil hoppe til stedet i bordet og komme tilbake med en åtte bit resultat
For eksempel:
db 1,2,3
dw 0x3fff, 0x3ff * 16 + 15, -1
dt 0b001, 0b010, 0b100
Tilsvarer er en navngitt sekvens av tokens. De kan defineres med 'ekv'. For eksempel:
led_1 utst 0x100 | 1
led_2 utst 0x100 | 2
combo-ekv (led_1) | (led_2)
Den org posisjon kan endres med "org". For eksempel
org 0x10o
Hva er nytt i denne versjonen:
· Denne utgivelsen legger til støtte for avanserte makroer, inkluderer filer, betinget kompilering og kompatibilitet med Microchip overskrifter.
Prog.varedetaljer:
Versjon: 2.0
Last opp dato: 2 Jun 15
Lisens: Gratis
Popularitet: 63
Kommentarer ikke funnet