Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

as31 - Trực tuyến trên đám mây

Chạy as31 trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh as31 có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


as31 - Trình biên dịch Intel 8031/8051

SYNOPSIS


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

MÔ TẢ


As31 lắp ráp infile.asm thành một trong nhiều định dạng đầu ra khác nhau. Đầu ra sẽ là
trong một tệp có tên infile.obj. Phần mở rộng .asm là bắt buộc.

LỰA CHỌN


Các tùy chọn phải xuất hiện trước tên tệp đầu vào. Cả hai tùy chọn đều là tùy chọn. Văn bản của
mỗi cờ phải xuất hiện trên cùng một đối số với cờ. Ví dụ: "-Fod" là hợp lệ
đối số, nhưng "-F od" thì không.

-h Điều này khiến trình biên dịch in ra một thông báo dài dòng mô tả các tùy chọn của nó.
Thông báo được ghi vào lỗi tiêu chuẩn.

-l Tùy chọn này yêu cầu trình biên dịch mã cũng tạo ra một tệp danh sách. Một danh sách sẽ được
được đặt trong tập tin infile.lst. Trong đó 'infile' là tệp đang được tập hợp.
Tùy chọn này có thể xuất hiện ở bất cứ đâu trước infile.asm. Tùy chọn phải xảy ra biệt lập
trên dòng lệnh.

Tệp danh sách hiển thị mã do trình biên dịch mã tạo ở dạng hex và tối đa 60 ký tự
được giữ lại từ tập tin nguồn.

-s Điều này làm cho trình biên dịch mã ghi đầu ra vào đầu ra tiêu chuẩn.

-v Điều này khiến trình biên dịch mã in số phiên bản ra đầu ra tiêu chuẩn.

-Aarg Tùy chọn này chỉ định một chuỗi định dạng cụ thể được chuyển tới định dạng
máy phát điện. Cả định dạng "tdr" và định dạng bản ghi đều sử dụng tùy chọn này.

-Định dạng
Tùy chọn này chỉ định định dạng đầu ra sẽ được sử dụng.

Hiện tại, các tùy chọn duy nhất có sẵn cho việc này là:

hex Định dạng này là định dạng Intel HEX được một số EPROM mong đợi
lập trình viên và trình gỡ lỗi PAULMON. Để sử dụng với một số lập trình viên,
Phần mở rộng của tệp đầu ra có thể phải được thay đổi thành .HEX để được nhận dạng bởi
người lập trình. Không -Một tùy chọn được sử dụng. Định dạng này sẽ là mặc định nếu
không có tùy chọn -F được sử dụng.

tdr Định dạng này tạo ra một tệp asci gồm các chữ số hex được định dạng theo cách như vậy, vì vậy
rằng trình gỡ lỗi của tdr có thể đọc được chúng. Một đối số có thể được chỉ định (Xem
-A tùy chọn) sẽ chuyển một chuỗi định dạng cụ thể tới trình tạo định dạng.
Trong trường hợp này, chuỗi đối số biểu thị một phần bù để thêm vào
bộ đếm vị trí. Phần bù này được chỉ định ở dạng thập phân và mặc định là
64*1024 (0x10000). Để chỉ định và bù 100, bạn cần "-Ftdr
-A100" khi gọi trình biên dịch mã.

byte Định dạng này chỉ đơn giản là một địa chỉ và một byte trên mỗi dòng, trong ascii. Không -A
tùy chọn được sử dụng.

od Định dạng này tương tự như đầu ra từ od(1). Định dạng bao gồm một
địa chỉ theo sau là mười sáu byte thập lục phân, theo sau là địa chỉ tương đương
ASCII. Không -Một tùy chọn được sử dụng.

srec2, srec3, srec4
Trình tạo srecord có khả năng tạo đầu ra với bất kỳ một trong 2, 3,
hoặc địa chỉ 4 byte. Tùy chọn -A có thể được sử dụng để đặt địa chỉ cơ sở
offset, mặc định ở đây là 0x0000 (không giống như tdr).

LƯU Ý: Trình biên dịch mã này cho phép mở rộng các định dạng đầu ra để bao gồm nhiều
định dạng đầu ra khác nhau.

-Tập tin Tùy chọn này yêu cầu trình biên dịch mã ghi kết quả đầu ra vào một tệp.

LẮP RÁP HƯỚNG DẪN


Trình biên dịch mã này chấp nhận các định dạng lệnh 8031/8051 tiêu chuẩn. Dưới đây là danh sách
hướng dẫn và chế độ địa chỉ.

HƯỚNG DẪN CHU KỲ byte
------------- ----- ------
ACALL địa chỉ11 2 24
THÊM A, #data8 2 12
THÊM A, @Ri 1 12
CỘNG A, Rn 1 12
THÊM A, trực tiếp 2 12
THÊM A, #dữ liệu8 2 12
THÊM A, @Ri 1 12
THÊM A, Rn 1 12
THÊM A, trực tiếp 2 12
AJMP địa chỉ11 2 24
ANL A, #data8 2 12
ANL A, @Ri 1 12
ANL A, Rn 1 12
ANL A, trực tiếp 2 12
ANL C, /bit 2 24
ANL C, !bit 2 24
ANL C, bit 2 24
ANL trực tiếp, #data8 3 24
ANL trực tiếp, A 2 12
CJNE @Ri, #data8, rel 3 24
CJNE A, #data8, rel 3 24
CJNE A, trực tiếp, liên quan 3 24
CJNE Rn, #data8, rel 3 24
CLR A 1 12
CLR C 1 12
Bit CLR 2 12
CPL A 1 12
CPL C 1 12
Bit CPL 2 12
ĐA 1 12
Tháng 1 @Ri 12 XNUMX
Ngày 1 tháng 12 năm XNUMX
DPTR ngày 1 tháng 12 năm XNUMX
Ngày 1 tháng 12 năm XNUMX
Tháng 2 trực tiếp 12 XNUMX
DIV AB 1 48
DJNZ Rn, rel 2 24
DJNZ trực tiếp, liên quan 3 24
INC @Ri 1 12
INC A 1 12
INC DPTR 1 24
INC Rn 1 12
INC trực tiếp 2 12
JB bit, rel 3 24
Bit JBC, rel 3 24
JC người thân 2 24
JMP @A + DPTR 1 24
JMP @DPTR + A 1 24
Bit JNB, rel 3 24
JNC người thân 2 24
JNZ người thân 2 24
JZ người thân 2 24
LCALL địa chỉ16 3 24
LJMP địa chỉ16 3 24
MOV @Ri, #data8 2 12
MOV @Ri, A 1 12
MOV @Ri, trực tiếp 2 24
MOV A, #dữ liệu8 2 12
MOV A, @Ri 1 12
MOV A, Rn 1 12
MOV A, trực tiếp 2 12
MOV C, bit 2 12
MOV DPTR, #data16 3 24
MOV Rn, #data8 2 12
MOV Rn, A 1 12
MOV Rn, trực tiếp 2 24
Bit MOV, C 2 24
MOV trực tiếp, #data8 3 24
MOV trực tiếp, @Ri 2 24
MOV trực tiếp, A 2 12
MOV trực tiếp, Rn 2 24
MOV trực tiếp, trực tiếp 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
NOP 1 12
ORL A, #data8 2 12
ORL A, @Ri 1 12
ORL A, Rn 1 12
ORL A, trực tiếp 2 12
ORL C,/bit 2 24
ORL C, !bit 2 24
ORL C, bit 2 24
ORL trực tiếp, #data8 3 24
ORL trực tiếp, A 2 12
POP trực tiếp 2 24
ĐẨY trực tiếp 2 24
RET 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
Bit SETB 2 12
SJMP tương đối 2 24
SUBB A, #data8 2 12
SUBB A, @Ri 1 12
SUBB A, Rn 1 12
SUBB A, trực tiếp 2 12
Hoán đổi A 1 12
XCH A, #data8 2 12
XCH A, @Ri 1 12
XCH A, Rn 1 12
XCH A, trực tiếp 2 12
XCHD A, #data8 2 12
XCHD A, @Ri 1 12
XCHD A, Rn 1 12
XCHD A, trực tiếp 2 12
XRL A, #data8 2 12
XRL A, @Ri 1 12
XRL A, Rn 1 12
XRL A, trực tiếp 2 12
XRL trực tiếp, #data8 3 12
XRL trực tiếp, A 2 12

LẮP RÁP HƯỚNG DẪN


As31 bao gồm các chỉ thị của trình biên dịch mã sau:

.ORG exp
Bắt đầu tập hợp tại địa chỉ được chỉ định bởi biểu thức expr. Đã xảy ra lỗi
nếu trình biên dịch bắt đầu tập hợp trên một không gian địa chỉ đã được
tập hợp thành.

Ký hiệu .EQU, expr
Đặt ký hiệu thành giá trị của expr. Giá trị của expr phải được biết trong lần đầu tiên
vượt qua, khi gặp dòng chứa .EQU.

.BYTE expr, expr, ...
Tập hợp các byte được biểu thức chỉ định vào bộ nhớ. Một chuỗi cũng có thể
được chỉ định bằng chỉ thị này.

.WORD expr, expr, ...
Tập hợp các từ được chỉ định bởi biểu thức vào bộ nhớ. Thứ tự byte
được sử dụng, được sử dụng bởi 8031.

Ký hiệu .FLAG1, ký hiệu.[0-7]
Đặt ký hiệu1 thành địa chỉ bit được chỉ định bởi biểu thức ký hiệu.[0-7]. Ở đâu
[0-7] biểu thị một ký tự trong khoảng từ 0 đến 7. Địa chỉ bit kết quả được kiểm tra để
xem nó có phải là địa chỉ bit hợp lệ không.

.END Lệnh này bị bỏ qua.

.SKIP điểm kinh nghiệm
Thêm giá trị của expr vào bộ đếm vị trí. Được sử dụng để dự trữ một khối
dữ liệu chưa được khởi tạo. Expr phải ở dạng byte.

PHÁP LÝ Ý KIẾN


- Tất cả các ký tự theo sau dấu chấm phẩy sẽ bị bỏ qua cho đến khi gặp dòng mới.

- Tất cả các số mặc định là số thập phân, trừ khi số đó bắt đầu bằng một trong các số sau:

0x hoặc 0X
Điều này cho biết một số thập lục phân. I E. 0x00ff

0b hoặc 0B
Điều này chỉ ra một số nhị phân. (1 và 0). I E. 0b1100110010

0 Điều này cho biết số bát phân. I E. 0377

- Tất cả các số mặc định là số thập phân, trừ khi số đó kết thúc bằng một trong các số sau
nhân vật:

b hoặc B Điều này cho biết số nhị phân. Trừ khi 0x được sử dụng ở trên. I E. 1010101b

h hoặc H Điều này luôn biểu thị số hex. Tuy nhiên, nếu ký tự đầu tiên là
không phải là số thì phải chỉ định 0x hoặc 0. Điều này tránh nhầm lẫn
người lắp ráp nghĩ rằng số hex là một ký hiệu. Ví dụ: 0ffh,
0xffh, 0XffH, 20h, 0x20 và 020h là các phương tiện để chỉ định một chữ số thập lục phân hợp lệ. Nhưng
những điều sau đây không phải: ffh, 0ff.

d hoặc D Điều này buộc một số phải ở dạng thập phân. Trừ khi 0X đã được sử dụng. I E. 129 ngày

o hoặc O Điều này làm cho số được hiểu là số bát phân. I E. 377o

- Một hằng ký tự có thể được nhập dưới dạng 'c' trong đó c là một ký tự nào đó. \b, \n, \r,
\t, \' \0 cũng hợp lệ. Một hằng ký tự có thể được sử dụng ở bất kỳ nơi nào có số nguyên
giá trị có thể.

- Một chuỗi được nhập dưới dạng một tập hợp các ký tự được đặt trong dấu ngoặc kép "". Một chuỗi
chỉ hợp lệ với lệnh .BYTE. \b, \n, \r, \t, \" cũng là những lối thoát hợp lệ.
Tuy nhiên \0 thì không.

- Hướng dẫn, chỉ dẫn và ký hiệu: R0, R1, R2, R3, R4, R5, R6, R7, A, AB,
và C có thể được nhập bằng chữ hoa hoặc chữ thường mà không gây nhầm lẫn cho người lắp ráp. Những cái này
tuy nhiên các từ không thể được định nghĩa là biểu tượng người dùng. Bất kỳ biểu tượng người dùng nào cũng có thể được sử dụng và
trường hợp sẽ được bảo tồn. Vì vậy, ký hiệu người dùng "foo" và "Foo" là khác nhau, nhưng
"addc" giống như "aDdC".

- Ký hiệu có thể là bất kỳ ký tự số alpha nào cộng với dấu gạch dưới ('_').

- Biểu thức được chấp nhận ở hầu hết những nơi cần giá trị hoặc ký hiệu. MỘT
biểu thức bao gồm các toán tử sau. Tất cả các toán tử sơ tán về số nguyên
các đối tượng (toán tử có mức độ ưu tiên cao hơn được liệt kê đầu tiên):

- Trừ một ngôi

& Bit-khôn ngoan VÀ.

| Bit-khôn ngoan HOẶC.

* Phép nhân số nguyên.

/ Phép chia số nguyên

mô đun % số nguyên

+ Phép cộng số nguyên.

- Phép trừ số nguyên.

- Ngoài các toán tử này, có thể sử dụng ký hiệu đặc biệt '*' để biểu thị
bộ đếm vị trí hiện tại.

VÍ DỤ


Dưới đây là một chương trình lắp ráp mẫu.

.org 0
bắt đầu: mov P3, #0xff ; sử dụng fns thay thế trên P3
; đèn led trên P1 bị đảo ngược.
setb F0 ; đang treo lên
chuyển A, #0x01 ; bit ban đầu

viết: cpl A ; viết nó
chuyển động P1, A
cpl A
sự chậm trễ của cuộc gọi
jb F0, leo lên ; leo theo hướng nào?

leodn: rr A ; xuống - dịch chuyển sang phải
jnb ACC.0, viết ; quay lại để nhận thêm
setb F0
ajmp viết

leo lên: rl A ; lên - dịch sang trái
jnb ACC.7, viết ; quay lại để nhận thêm
clr F0
ajmp viết
.kết thúc ; chỉ thị này bị bỏ qua.

TÁC GIẢ


Ken Stauffer (Đại học Calgary)[email được bảo vệ]>
Martin Langer[email được bảo vệ]>

AS31(1)

Sử dụng as31 trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad