InggrisPerancisSpanyol

Ad


favorit OnWorks

as31 - Online di Cloud

Jalankan as31 di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah as31 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


as31 - Perakit Intel 8031/8051

RINGKASAN


as31 [-h] [-l] [-s] [-v] [-Aarg] [-Ffmt] [-Ofile] infile.asm

DESKRIPSI


As31 berkumpul infile.asm menjadi salah satu dari beberapa format output yang berbeda. Outputnya akan menjadi
dalam file bernama infile.obj. Ekstensi .asm diperlukan.

PILIHAN


Opsi harus muncul sebelum nama file input. Kedua opsi ini opsional. teks dari
setiap bendera harus muncul pada argumen yang sama dengan bendera. Misalnya, "-Fod" adalah valid
argumen, tetapi "-F od" tidak.

-h Ini menyebabkan assembler mencetak pesan verbose yang menjelaskan opsi-opsinya.
Pesan ditulis dengan kesalahan standar.

-l Opsi ini memberi tahu assembler untuk juga menghasilkan file daftar. Sebuah daftar akan
ditempatkan di file infile.lst. Dimana 'infile' adalah file yang sedang dirakit.
Opsi ini mungkin muncul di mana saja sebelum infile.asm. Opsi harus terjadi terisolasi
di baris perintah.

File daftar menunjukkan kode yang dihasilkan assembler dalam hex, dan hingga 60 karakter
disimpan dari file sumber.

-s Ini menyebabkan assembler menulis output ke output standar.

-v Ini menyebabkan assembler mencetak nomor versi ke output standar.

-Aarg Opsi ini menentukan string khusus format yang diteruskan ke format
generator. Format "tdr" dan format rekaman menggunakan opsi ini.

-Format
Opsi ini menentukan format output yang akan digunakan.

Saat ini satu-satunya pilihan yang tersedia untuk ini adalah:

hex Format ini adalah format Intel HEX yang diharapkan oleh sejumlah EPROM
programmer dan debugger PAULMON. Untuk digunakan dengan beberapa programmer,
ekstensi file keluaran mungkin harus diubah menjadi .HEX agar dapat dikenali oleh
pemrogram. Tidak ada opsi -A yang digunakan. Format ini harus menjadi default jika
tidak ada opsi -F yang digunakan.

tdr Format ini menghasilkan file asci dari digit hex yang diformat sedemikian rupa, jadi
bahwa mereka dapat dibaca oleh debugger tdr. Argumen dapat ditentukan (Lihat
-A option) yang akan meneruskan format string tertentu ke format generator.
Dalam hal ini, string argumen mewakili offset untuk ditambahkan ke
penghitung lokasi. Offset ini ditentukan dalam desimal dan default ke
64*1024 (0x10000). Untuk menentukan dan mengimbangi 100, Anda memerlukan "-Ftdr
-A100" saat menjalankan assembler.

byte Format ini hanyalah sebuah alamat dan satu byte pada setiap baris, dalam ascii. Tidak -A
opsi digunakan.

od Format ini mirip dengan output dari od(1). Formatnya terdiri dari
alamat diikuti oleh enam belas byte heksadesimal, diikuti oleh setara
ASCII. Tidak ada opsi -A yang digunakan.

srec2, srec3, srec4
Generator srecord mampu menghasilkan output dengan salah satu dari 2, 3,
atau 4 byte alamat. Opsi -A dapat digunakan untuk mengatur alamat dasar
offset, default di sini adalah 0x0000 (tidak seperti tdr).

CATATAN: Assembler ini memungkinkan format output diperluas untuk menyertakan banyak
format keluaran yang berbeda.

-Ofile Opsi ini memberitahu assembler untuk menulis output ke file.

PERAKITAN INSTRUKSI


Assembler ini menerima format instruksi standar 8031/8051. Di bawah ini adalah daftar
instruksi dan mode pengalamatan.

SIKLUS BYTE INSTRUKSI
----------- ----- ------
ACALL addr11 2 24
TAMBAHKAN A, #data8 2 12
TAMBAHKAN A, @Ri 1 12
TAMBAH A, Rn 1 12
TAMBAHKAN A, langsung 2 12
TAMBAHKAN A, #data8 2 12
TAMBAHKAN A, @Ri 1 12
ADDC A, Rn 1 12
ADDC A, langsung 2 12
Alamat AJMP11 2 24
ANL A, #data8 2 12
ANL A, @Ri 1 12
ANL A, Rn 1 12
ANL A, langsung 2 12
ANL C, / bit 2 24
ANL C, !bit 2 24
ANL C, bit 2 24
ANL langsung, #data8 3 24
ANL langsung, A 2 12
CJNE @Ri, #data8, rel 3 24
CJNE A, #data8, rel 3 24
CJNE A, langsung, rel 3 24
CJNE Rn, #data8, rel 3 24
KLR A 1 12
KLR C 1 12
CLR bit 2 12
CPL A 1 12
CPL C 1 12
CPL bit 2 12
DA A 1 12
DES @Ri 1 12
DES A 1 12
DES DPTR 1 12
DES Rn 1 12
DES langsung 2 12
DIVAB 1 48
DJNZ Rn, rel 2 24
DJNZ langsung, rel 3 24
INC @Ri 1 12
INC A 1 12
INC DPTR 1 24
INC Rp 1 12
INC langsung 2 12
JB sedikit, rel 3 24
JBC sedikit, rel 3 24
JC relatif 2 24
JMP @A+DPTR 1 24
JMP @DPTR + A 1 24
JNB sedikit, rel 3 24
JNC relatif 2 24
JNZ relatif 2 24
JZ relatif 2 24
LCALL addr16 3 24
Alamat LJMP16 3 24
MOV @Ri, #data8 2 12
MOV @Ri, A 1 12
MOV @Ri, langsung 2 24
MOV A, #data8 2 12
MOV A, @Ri 1 12
MOV A, Rn 1 12
MOV A, langsung 2 12
MOV C, bit 2 12
MOV DPTR, #data16 3 24
MOV Rn, #data8 2 12
MOV Rn, A 1 12
MOV Rn, langsung 2 24
MOV bit, C2 24
MOV langsung, #data8 3 24
MOV langsung, @Ri 2 24
MOV langsung, A 2 12
MOV langsung, Rn 2 24
MOV langsung, langsung 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
MULAB 1 48
TIDAK 1 12
ORL A, #data8 2 12
ORL A, @Ri 1 12
ORL A, Rn 1 12
ORL A, langsung 2 12
ORL C, / bit 2 24
ORL C, !bit 2 24
ORL C, bit 2 24
ORL langsung, #data8 3 24
ORL langsung, A 2 12
POP langsung 2 24
PUSH langsung 2 24
KEMBALI 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
SJMP relatif 2 24
SUBB A, #data8 2 12
SUBB A, @Ri 1 12
SUB A, Rn 1 12
SUBB A, langsung 2 12
TUKAR A 1 12
XCH A, #data8 2 12
XCH A, @Ri 1 12
XCH A, Rn 1 12
XCH A, langsung 2 12
XCHD A, #data8 2 12
XCHD A, @Ri 1 12
XCHD A, Rn 1 12
XCHD A, langsung 2 12
XRL A, #data8 2 12
XRL A, @Ri 1 12
XRL A, Rn 1 12
XRL A, langsung 2 12
XRL langsung, #data8 3 12
XRL langsung, A 2 12

PERAKITAN PETUNJUK


As31 mencakup arahan assembler berikut:

.ORG ekspr
Mulai merakit di alamat yang ditentukan oleh ekspresi expr. Terjadi kesalahan
jika assembler mulai merakit melalui ruang alamat yang sebelumnya telah
dirakit menjadi.

.Simbol EQU, expr
Atur simbol ke nilai expr. Nilai untuk expr harus diketahui selama yang pertama
lulus, ketika baris yang berisi .EQU ditemui.

.BYTE ekspr, ekspr, ...
Merakit byte yang ditentukan oleh ekspresi ke dalam memori. Sebuah string mungkin juga
ditentukan dengan arahan ini.

.WORD expr, expr, ...
Merakit kata-kata yang ditentukan oleh ekspresi ke dalam memori. Urutan byte
digunakan, adalah yang digunakan oleh 8031.

.Bendera simbol1, simbol.[0-7]
Menyetel simbol1 ke alamat bit yang ditentukan oleh ekspresi simbol.[0-7]. Di mana
[0-7] menunjukkan karakter antara 0 dan 7. Alamat bit yang dihasilkan diperiksa ke
lihat apakah itu alamat bit yang valid.

.END Arahan ini diabaikan.

.SKIP expr
Menambahkan nilai expr ke penghitung lokasi. Digunakan untuk memesan satu blok
data yang tidak diinisialisasi. Ekspr harus dalam byte.

LEKSIS KONVENSI


- Semua karakter setelah titik koma diabaikan sampai baris baru ditemukan.

- Semua nomor default ke desimal, kecuali nomor dimulai dengan salah satu dari berikut ini:

0x atau 0X
Ini menunjukkan angka heksadesimal. yaitu. 0x00ff

0b atau 0B
Ini menunjukkan bilangan biner. (1 dan 0). yaitu. 0b1100110010

0 Ini menunjukkan angka oktal. yaitu. 0377

- Semua nomor default ke desimal, kecuali nomor berakhir dengan salah satu dari berikut:
karakter:

b atau B Ini menunjukkan bilangan biner. Kecuali 0x digunakan di atas. yaitu. 1010101b

h atau H Ini selalu menunjukkan angka hex, Namun jika karakter pertama adalah
non-numerik, maka 0x atau 0 harus ditentukan. Ini menghindari kebingungan
assembler berpikir bilangan hex adalah simbol. Misalnya: 0ffh,
0xffh, 0XffH, 20h, 0x20 dan 020h adalah sarana untuk menentukan hexdigit yang valid. Tetapi
berikut ini bukan: ffh, 0ff.

d atau D Ini memaksa angka ke desimal. Kecuali 0X digunakan. yaitu. 129d

o atau O Hal ini menyebabkan angka diinterpretasikan sebagai oktal. yaitu. 377o

- Konstanta karakter dapat dimasukkan sebagai 'c' di mana c adalah beberapa karakter. \b, \n, \r,
\t, \' \0 juga valid. Konstanta karakter dapat digunakan di mana saja selain bilangan bulat
nilai bisa.

- String dimasukkan sebagai kumpulan karakter yang diapit tanda kutip ganda "". Sebuah benang
hanya valid dengan direktif .BYTE. \b, \n, \r, \t, \" juga merupakan pelarian yang valid.
Namun \0 tidak.

- Instruksi, direktif, dan simbol: R0, R1, R2, R3, R4, R5, R6, R7, A, AB,
dan C dapat dimasukkan dalam huruf besar atau kecil tanpa kebingungan assembler. Ini
kata-kata namun tidak dapat didefinisikan sebagai simbol pengguna. Simbol pengguna apa pun dapat digunakan, dan
kasus akan dipertahankan. Jadi simbol pengguna "foo" dan "Foo" berbeda, tapi
"addc" sama dengan "addC".

- Simbol dapat berupa karakter numerik alfa apa pun ditambah garis bawah ('_').

- Ekspresi diterima di sebagian besar tempat di mana nilai atau simbol diperlukan. Sebuah
ekspresi terdiri dari operator berikut. Semua operator mengevaluasi ke integer
objek (opertor dengan prioritas lebih tinggi terdaftar terlebih dahulu):

- Minus unary

& Sedikit-bijaksana DAN.

| Sedikit Bijaksana ATAU.

* Perkalian bilangan bulat.

/ Pembagian bilangan bulat

% modulus bilangan bulat

+ Penambahan bilangan bulat.

- Pengurangan bilangan bulat.

- Selain operator ini, simbol khusus '*' dapat digunakan untuk mewakili
penghitung lokasi saat ini.

CONTOH


Di bawah ini adalah contoh program perakitan.

.org 0
mulai: mov P3, #0xff ; gunakan fns alternatif di P3
; led pada P1 terbalik.
setb F0 ; memanjat
mov A, #0x01 ; bit awal

tulis: cpl A ; tulis itu
bergerak P1, A
cpl A
penundaan panggilan
jb F0, memanjat ; mendaki ke arah mana?

mendaki: rr A ; bawah - geser ke kanan
jnb ACC.0, tulis ; kembali untuk lebih
setb F0
ajmp menulis

pendakian: rl A ; atas - geser ke kiri
jnb ACC.7, tulis ; kembali untuk lebih
kl F0
ajmp menulis
.akhir ; arahan ini diabaikan.

PENULIS


Ken Stauffer (Universitas Calgary)[email dilindungi]>
Martin Langer[email dilindungi]>

AS31(1)

Gunakan as31 online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad