Rational PIC Assembler jest assembler dla mikrokontrolerów klasy średniej z Microchip. Projekt wykorzystuje w stylu Intel i mnemoniki pierwszego operandu docelowego kolejność. Zaprojektowany, aby czuć się komfortowo dla programistów montażowych PC.
Ten asemblera generuje kod zgodny z mikrokontrolerów firmy Microchip linii środkowej, ale jest niezgodna z ich montażu. Powinien czuć znane każdemu programiście montażowej komputera. W mnemoniki instrukcji są i porządku argument Intel (tj styl "prawo", w przeciwieństwie do "złego").
Składnia wiersza poleceń
pic-asm [-c] [-l plik] [-o plik] input_file
-c - tryb konsoli
źródło montaż jest akceptowane ze standardowego wejścia. kod binarny jest
wyjście na standardowe wyjście. Błędy są wysyłane na stderr
-l filename - określić listę plików
-o nazwa pliku - określa plik obiektu
Wkład
Wejściowego sekwencji linii, z których każdy zawiera jeden lub więcej z następujących dziedzinach
Etykieta; argumentów instrukcji komentarz
Etykiety i komentarz są opcjonalne. Operandy wymagane zależy od instrukcji.
Assembler jest wielkość liter, a nawet instrukcje.
Stałe
Wartości można określić Hex z C-stylu '0x' [: xdigit:] +. Wartości binarne mogą być wyposażone w "0b" [01] +. Wartości dziesiętne nie wymagają prefiks jako dziesiętną jest podstawą domyślne.
Stałe znakowe są określone przez zamknięcie pojedynczy znak lub uciekł znak w pojedynczych cudzysłowach. Stałe łańcuchowe są określone przez umieszczenie zero lub więcej znaków i uciekł znaków wewnątrz cudzysłowów. Stałe łańcuchowe wygenerowania jednej stałej znaków dla każdego znaku w ciągu. Nie ma końcowe zera zapisane. Na przykład:
db "Hello worldn", 0, '', 'b', 'r', 'n', 't'
Etykiety
Etykieta jest ciągiem znaków alfanumerycznych (w tym Underbar), który rozpoczyna linię. Etykiety nie mają dwukropki. Etykiety lokalne do ostatniego nielokalnego etykiecie mogą być zdefiniowane poprzedzając nazwę z kropką. Na przykład
; Przykład z przykładu-1.asm
wywołanie foo 0,1
0,1 jmp 0,2
0,2 jmp 0,1
Wywołanie 0,1 bar
0,1 jmp 0,2
0,2 jmp 0,1
W tym przykładzie, etykiety określone są bla, foo.1, foo.2, bar, bar.1 i bar.2. Pierwsze wezwanie do foo.1 oddziałów. Drugie wezwanie do bar.1 oddziałów. Etykiety lokalnym 'foo' nie można odwoływać się przed "foo" został uznany ani po "bar" został ogłoszony.
Dyrektywy
Dane mogą zostać uznane. Declarator zajmuje miejsce instrukcji i jest następnie przez jeden lub więcej wyrażeń oddzielonych przecinkami. Każdy ekspresja odpowiada jedno słowo kodu wyjściowego niezależnie od rodzaju declarator.
db - każdy argument jest I-ed z 0xff przed magazynowaniem
dw - pełna definicja słowa 14 bit
dt - każdy argument jest I-ed z 0xff i OR-ed z 0x3400 (zwrot z-wartości rozkazu). Umożliwia to generowanie tabel przypadków. Możesz dodać akumulatora ("w"), aby zrównoważyć tabeli. Procesor rozgałęzia się do położenia w tabeli i powrót ze związku ośmiobitowych
Na przykład:
db 1,2,3
dw 0x3fff, * 16 + 0x3ff 15 -1
dt 0B001 Następujące, 0b010, 0b100
Odpowiada są nazwany ciąg znaków. Mogą być określone z 'equ ". Na przykład:
LED_1 ogólno 0x100 | 1
dioda LED_2 ogólno 0x100 | 2
techn kombi (LED_1) | (dioda LED_2)
Stanowisko org można zmienić "org". Na przykład
org 0x10o
Co nowego w tym wydaniu:
· Ta wersja dodaje wsparcie dla zaawansowanych makr, to pliki, kompilacja warunkowa oraz zgodność z nagłówkami Microchip.
Szczegóły programowe:
Komentarze nie znaleziono