Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

as31 – Online w chmurze

Uruchom jako31 w bezpłatnym dostawcy hostingu OnWorks w systemie Ubuntu Online, Fedora Online, emulatorze online systemu Windows lub emulatorze online systemu MAC OS

Jest to polecenie as31, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


as31 - Asembler Intel 8031/8051

STRESZCZENIE


as31 [-h] [-l] [-s] [-v] [-Aarg] [-Ffmt] [-Ofil] plik.asm

OPIS


As31 montuje plik.asm do jednego z kilku różnych formatów wyjściowych. Dane wyjściowe będą
w pliku o nazwie infile.obj. Wymagane jest rozszerzenie .asm.

OPCJE


Opcje muszą pojawić się przed nazwą pliku wejściowego. Obie opcje są opcjonalne. Tekst
każda flaga musi pojawić się na tym samym argumencie co flaga. Na przykład „-Fod” jest prawidłowym
argument, ale „-F od” nie.

-h To powoduje, że asembler wypisuje szczegółowy komunikat opisujący jego opcje.
Komunikat jest zapisywany w błędzie standardowym.

-l Ta opcja mówi asemblerowi, aby również wygenerował plik z listą. Lista będzie
umieszczony w pliku infile.lst. Gdzie „infile” to plik, który jest składany.
Ta opcja może pojawić się w dowolnym miejscu przed plikiem infile.asm. Opcja musi występować samodzielnie
w wierszu poleceń.

Plik z listą pokazuje kod wygenerowany przez asembler w formacie szesnastkowym i maksymalnie 60 znaków
są zachowywane z pliku źródłowego.

-s Powoduje to, że asembler zapisuje dane wyjściowe na standardowe wyjście.

-v Powoduje to, że asembler wypisuje numer wersji na standardowe wyjście.

-Aarg Ta opcja określa specyficzny dla formatu ciąg znaków, który jest przekazywany do formatu
generator. Z tej opcji korzystają zarówno formaty „tdr”, jak i formaty srecord.

-Formatuj
Ta opcja określa format wyjściowy, który ma zostać użyty.

Obecnie jedyne dostępne opcje to:

hex Ten format jest formatem Intel HEX, oczekiwanym przez wiele pamięci EPROM
programistów i debuggera PAULMON. Do użytku z niektórymi programistami, plik
rozszerzenie pliku wyjściowego może wymagać zmiany na .HEX, aby plik był rozpoznawany przez
programista. Nie - używana jest opcja. Ten format powinien być domyślnym if
nie użyto opcji -F.

tdr Format ten generuje plik asci zawierający cyfry szesnastkowe sformatowane w taki sposób, tzw
aby mogły być odczytane przez debugger tdr. Można określić argument (patrz
-A opcja), która przekaże ciąg specyficzny dla formatu do generatora formatu.
W tym przypadku ciąg argumentów reprezentuje przesunięcie, które należy dodać do
licznik lokalizacji. To przesunięcie jest podawane w postaci dziesiętnej i domyślnie wynosi
64*1024 (0x10000). Aby określić i przesunąć 100, potrzebujesz „-Ftdr
-A100” podczas wywoływania asemblera.

bajt Ten format to po prostu adres i bajt w każdej linii, w formacie ascii. Nie -A
używana jest opcja.

od Ten format jest podobny do danych wyjściowych z od(1). Format składa się z
adres, po którym następuje szesnaście bajtów szesnastkowych i odpowiednik
ASCII. Nie - używana jest opcja.

srec2, srec3, srec4
Generator rekordów może generować dane wyjściowe z dowolnym z 2, 3,
lub adresy 4-bajtowe. Opcji -A można użyć do ustawienia adresu bazowego
offset, domyślnie jest to 0x0000 (w przeciwieństwie do Słup).

UWAGA: Ten asembler pozwala na rozszerzenie formatów wyjściowych o wiele
różne formaty wyjściowe.

-Oplik Ta opcja mówi asemblerowi, aby zapisał wynik do pliku.

MONTER INSTRUKCJA


Ten asembler akceptuje standardowe formaty instrukcji 8031/8051. Poniżej znajduje się lista
instrukcje i tryby adresowania.

BYTY INSTRUKCJI CYKLE
----------- ----- ------
ACALL adres11 2 24
DODAJ A, #dane8 2 12
DODAJ A, @Ri 1 12
DODAJ A, Rn 1 12
DODAJ A, bezpośrednio 2 12
ADDC A, #dane8 2 12
ADDC A, @Ri 1 12
ADDC A, Rn 1 12
ADDC A, bezpośredni 2 12
AJMP adres11 2 24
ANL A, #dane8 2 12
ANL A, @Ri 1 12
ANL A, Rn 1 12
ANL A, bezpośredni 2 12
ANL C, / bit 2 24
ANL C, !bit 2 24
ANL C, bit 2 24
ANL direct, #data8 3 24
ANL bezpośredni, A 2 12
CJNE @Ri, #data8, rel 3 24
CJNE A, #data8, rel 3 24
CJNE A, bezpośrednio, rel 3 24
CJNE Rn, #data8, rel 3 24
CLR A 1 12
CLR C 1 12
CLR bit 2 12
CPL A 1 12
CPL C 1 12
CPL bit 2 12
DA A 1 12
GRUDZIEŃ @Ri 1 12
GRUDZIEŃ A 1 12
GRUDZIEŃ DPTR 1 12
GRUDZIEŃ Rn 1 12
Grudzień bezpośrednio 2 12
DZIAŁ AB 1 48
DJNZ Rn, rel 2 24
DJNZ direct, rel 3 24
INC @Ri 1 12
INC A 1 12
INC DPTR 1 24
INC Rn 1 12
INC bezpośredni 2 12
Bit JB, rel 3 24
Bit JBC, rel 3 24
JC krewny 2 24
JMP @A + DPTR 1 24
JMP @DPTR + A 1 24
Bit JNB, rel 3 24
JNC krewny 2 24
krewny JNZ 2 24
JZ krewny 2 24
LCALL adres16 3 24
Adres LJMP16 3 24
MOV @Ri, #data8 2 12
MOV @Ri, A 1 12
MOV @Ri, bezpośrednio 2 24
MOV A, #data8 2 12
MOV A, @Ri 1 12
MOV A, Rn 1 12
MOV A, bezpośredni 2 12
MOV C, bit 2 12
MOV DPTR, #data16 3 24
MOV Rn, #data8 2 12
MOV Rn, A 1 12
MOV Rn, bezpośredni 2 24
Bit MOV, C 2 24
MOV bezpośrednio, #data8 3 24
Bezpośredni MOV, @Ri 2 24
MOV bezpośredni, A 2 12
MOV bezpośrednio, Rn 2 24
MOV bezpośrednio, bezpośrednio 3 24
MOVC A, @A + DPTR 1 24
MOVC A, @A + PC 1 24
MOVC A, @DPTR + A 1 24
MOVC A, @PC + A 1 24
MOVX @DPTR, A 1 12
MOVX @Ri, A 1 24
MOVX A, @DPTR 1 24
MOVX A, @Ri 1 24
MUL AB 1 48
NR 1 12
ORL A, #dane8 2 12
ORL A, @Ri 1 12
ORL A, Rn 1 12
ORL A, bezpośredni 2 12
ORL C, /bit 2 24
ORL C, !bit 2 24
ORL C, bit 2 24
ORL bezpośredni, #data8 3 24
ORL bezpośredni, A 2 12
POP bezpośredni 2 24
NACIŚNIJ bezpośrednio 2 24
ODPOWIEDŹ 1 24
RETI 1 24
RL A 1 12
RLC A 1 12
RR A 1 12
RRC A 1 12
SETB A 1 12
SETB bit 2 12
krewny SJMP 2 24
SUBB A, #data8 2 12
SUBB A, @Ri 1 12
POD A, Rn 1 12
SUBB A, bezpośredni 2 12
ZAMIEŃ A 1 12
XCH A, #dane8 2 12
XCH A, @ Ri 1 12
XCH A, Rn 1 12
XCH A, bezpośredni 2 12
XCHD A, #dane8 2 12
XCHD A, @ Ri 1 12
XCHD A, Rn 1 12
XCHD A, bezpośredni 2 12
XRL A, #dane8 2 12
XRL A, @ Ri 1 12
XRL A, Rn 1 12
XRL A, bezpośredni 2 12
Bezpośrednie XRL, #data8 3 12
Bezpośrednie XRL, A 2 12

MONTER DYREKTYWY


As31 zawiera następujące dyrektywy asemblera:

.ORG wyr
Rozpocznij asemblację pod adresem określonym przez wyrażenie expr. Występuje błąd
jeśli asembler zacznie asemblować w przestrzeni adresowej, która była wcześniej
zmontowane w.

Symbol .EQU, wyr
Ustaw symbol na wartość wyrażenia. Wartość wyrażenia musi być znana podczas pierwszego
pass, gdy napotkana zostanie linia zawierająca .EQU.

.BYTE wyrażenie, wyrażenie, ...
Złóż bajty określone w wyrażeniu w pamięci. Może być też sznurek
określone w tej dyrektywie.

.WORD wyrażenie, wyrażenie, ...
Zbierz w pamięci słowa określone w wyrażeniu. Kolejność bajtów
używany, to ten używany przez 8031.

.FLAGA symbol1, symbol.[0-7]
Ustawia symbol1 na adres bitowy określony przez wyrażenie symbol.[0-7]. Gdzie
[0-7] oznacza znak od 0 do 7. Sprawdzany jest wynikowy adres bitowy
sprawdź, czy jest to prawidłowy adres bitowy.

.END Ta dyrektywa jest ignorowana.

.SKIP wyr
Dodaje wartość wyrażenia do licznika lokalizacji. Służy do rezerwowania bloku
niezainicjowane dane. Wyrażenie powinno być w bajtach.

LEKSYKALNY KONWENCJE


- Wszystkie znaki następujące po średniku są ignorowane, aż do napotkania nowej linii.

- Wszystkie liczby są domyślnie ustawione na dziesiętne, chyba że numer zaczyna się od jednego z poniższych:

0x lub 0X
Oznacza to liczbę szesnastkową. tj. 0x00ff

0b lub 0B
Oznacza to liczbę binarną. (1 i 0). tj. 0b1100110010

0 Oznacza liczbę ósemkową. tj. 0377

- Wszystkie liczby są domyślnie ustawione na dziesiętne, chyba że liczba kończy się na jeden z poniższych
postacie:

b lub B Oznacza liczbę binarną. Chyba że powyżej użyto 0x. tj. 1010101b

h lub H To zawsze wskazuje liczbę szesnastkową, niezależnie od tego, czy jest to pierwszy znak
nienumeryczny, należy określić 0x lub 0. Pozwala to uniknąć zamieszania
asembler myśli, że liczba szesnastkowa jest symbolem. Na przykład: 0ffh,
0xffh, 0XffH, 20h, 0x20 i 020h oznaczają określenie prawidłowej cyfry szesnastkowej. Ale
następujące nie są: ffh, 0ff.

d lub D Zmusza liczbę do postaci dziesiętnej. Chyba że użyto 0X. tj. 129d

o lub O Powoduje to, że liczba jest interpretowana jako ósemkowa. tj. 377o

- Stałą znakową można wprowadzić jako „c”, gdzie c jest jakimś znakiem. \b, \n, \r,
\t, \' \0 są również prawidłowe. Stała znakowa może być używana w dowolnym miejscu innym niż liczba całkowita
wartość może.

- Ciąg znaków wprowadza się jako zbiór znaków ujętych w cudzysłów „”. Sznurek
jest ważny tylko z dyrektywą .BYTE. \b, \n, \r, \t, \" są również poprawnymi znakami ucieczki.
Jednak \0 nie jest.

- Instrukcje, dyrektywy i symbole: R0, R1, R2, R3, R4, R5, R6, R7, A, AB,
i C można wpisać wielkimi lub małymi literami bez pomyłki asemblera. Te
słów nie można jednak zdefiniować jako symbolu użytkownika. Można użyć dowolnego symbolu użytkownika, oraz
sprawa zostanie zachowana. Zatem symbole użytkownika „foo” i „Foo” są różne, ale
„addc” jest tym samym, co „aDdC”.

- Symbolem może być dowolny znak alfanumeryczny plus znak podkreślenia („_”).

- Wyrażenia są akceptowane w większości miejsc, w których wymagana jest wartość lub symbol. Jakiś
wyrażenie składa się z następujących operatorów. Wszystkie operatory zwracają liczbę całkowitą
obiekty (operatory o wyższym priorytecie wymienione jako pierwsze):

- Jednoargumentowy minus

& Bitowe AND.

| Bitowe LUB.

* Mnożenie liczb całkowitych.

/ Dzielenie całkowite

% Moduł całkowity

+ Dodawanie liczb całkowitych.

- Odejmowanie liczb całkowitych.

- Oprócz tych operatorów można użyć specjalnego symbolu „*” do przedstawienia
aktualny licznik lokalizacji.

PRZYKŁADY


Poniżej przykładowy program montażu.

org 0
początek: ruch P3, #0xff ; użyj alternatywnego fns na P3
; diody na P1 są odwrócone.
setb F0 ; wspinaczka
ruch A, #0x01 ; bit początkowy

napisz: cpl A ; Napisz to
ruch P1, A
kpl A
opóźnienie połączenia
jb F0, wspinaczka; wspinać się w którą stronę?

wspinał się: rr A ; w dół - przesuń w prawo
jnb ACC.0, napisz ; wrócić po więcej
ustaw F0
ajmp napisz

wspinaczka: rl A ; w górę - przesuń w lewo
jnb ACC.7, napisz ; wrócić po więcej
klr F0
ajmp napisz
.koniec ; dyrektywę tę zignorowano.

AUTORSKI


Ken Stauffer (Uniwersytet w Calgary)[email chroniony]>
Martina Langera[email chroniony]>

AS31(1)

Korzystaj z as31 online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad