İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

as31 - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında as31 olarak çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen as31 komutudur.

Program:

ADI


as31 - Bir Intel 8031/8051 derleyici

SİNOPSİS


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

TANIM


As31 toplanır dosya.asm birkaç farklı çıktı biçiminden birine dönüştürün. çıktı olacak
infile.obj adlı bir dosyada. .asm uzantısı gereklidir.

SEÇENEKLER


Seçenekler, girdi dosyası adından önce görünmelidir. Her iki seçenek de isteğe bağlıdır. metni
her bayrak, bayrakla aynı argümanda görünmelidir. Örneğin, "-Fod" geçerli bir
argüman, ancak "-F od" değil.

-h Bu, derleyicinin seçeneklerini açıklayan ayrıntılı bir mesaj yazdırmasına neden olur.
Mesaj standart hataya yazılır.

-l Bu seçenek, montajcıya ayrıca bir liste dosyası oluşturmasını söyler. bir liste olacak
infile.lst dosyasına yerleştirilir. 'infile', birleştirilen dosyadır.
Bu seçenek, infile.asm'den önce herhangi bir yerde görünebilir. Seçenek izole olarak gerçekleşmelidir
komut satırında.

Liste dosyası, derleyici tarafından oluşturulan kodu onaltılık ve 60 karaktere kadar gösterir.
kaynak dosyadan tutulur.

-s Bu, montajcının çıktıyı standart çıktıya yazmasına neden olur.

-v Bu, derleyicinin standart çıktıya bir sürüm numarası yazdırmasına neden olur.

-Arg Bu seçenek, biçime iletilen biçime özgü bir dize belirtir.
jeneratör. Hem "tdr" biçimi hem de srecord biçimleri bu seçeneği kullanır.

-Fformatı
Bu seçenekler, kullanılacak çıktı biçimini belirtir.

Şu anda bunun için kullanılabilen tek seçenek:

hex Bu biçim, bir dizi EPROM tarafından beklenen Intel HEX biçimidir.
programcılar ve PAULMON hata ayıklayıcı. Bazı programcılarla kullanım için,
tarafından tanınması için çıktı dosyasının uzantısının .HEX olarak değiştirilmesi gerekebilir.
programcı. Hayır -A seçeneği kullanılır. Bu biçim varsayılan olmalıdır, eğer
-F seçeneği kullanılmaz.

tdr Bu biçim, bu şekilde biçimlendirilmiş onaltılı basamaklardan oluşan bir asci dosyası oluşturur, bu nedenle
tdr'nin hata ayıklayıcısı tarafından okunabileceklerini. Bir argüman belirtilebilir (Bkz.
-A seçeneği) biçim oluşturucuya biçime özel bir dize iletir.
Bu durumda, argüman dizesi, eklenecek bir uzaklığı temsil eder.
konum sayacı. Bu ofset ondalık olarak belirtilir ve varsayılan olarak
64*1024 (0x10000). 100'ü belirtmek ve ofsetlemek için "-Ftdr
-A100", montajcıyı çağırırken.

bayt Bu biçim, ascii'de yalnızca bir adres ve her satırda bir bayttır. Hayır -A
seçeneği kullanılır.

od Bu biçim şuradan alınan çıktıya benzer: od(1). Biçim, bir
adres, ardından on altı onaltılık bayt, ardından eşdeğer
ASCII. Hayır -A seçeneği kullanılır.

kaynak2, kaynak3, kaynak4
Srecord üreteci 2, 3,
veya 4 baytlık adresler. -A seçeneği, temel adresi ayarlamak için kullanılabilir.
offset, burada varsayılan 0x0000'dır (farklı olarak tdr).

NOT: Bu birleştirici, çıktı biçimlerinin birçok öğeyi içerecek şekilde genişletilmesine izin verir.
farklı çıktı biçimleri.

-Odosya Bu seçenek, montajcıya çıktıyı bir dosyaya yazmasını söyler.

MONTAJCI Nasıl Başvurulur?


Bu birleştirici, standart 8031/8051 talimat formatlarını kabul eder. Aşağıda bir listesi
komutlar ve adresleme modları.

YÖNERGE BYTES ÇEVRİMLERİ
-------------- ----- ------
ACALL adres 11 2 24
A EKLE, #data8 2 12
A EKLE, @Ri 1 12
A EKLE, Rn 1 12
A EKLE, direkt 2 12
ADDC A, #veri8 2 12
ADDC A, @Ri 1 12
ADDC A, Rn 1 12
ADDC A, doğrudan 2 12
AJMP adres 11 2 24
ANL A, #veri8 2 12
ANL A, @Ri 1 12
ANL A, Rn 1 12
ANL A, direkt 2 12
ANL C, /bit 2 24
ANL C, !bit 2 24
ANL C, bit 2 24
ANL doğrudan, #data8 3 24
ANL direkt, A 2 12
CJNE @Ri, #data8, rel 3 24
CJNE A, #data8, rel 3 24
CJNE A, doğrudan, rel 3 24
CJNE Rn, #data8, rel 3 24
SİL A 1 12
CLR C1 12
CLR biti 2 12
CPL A 1 12
CPL C1 12
CPL biti 2 12
DA A 1 12
Aralık @Ri 1 12
Aralık A 1 12
Aralık DPTR 1 12
Aralık 1 12
Aralık direkt 2 12
BÖL AB 1 48
DJNZ Rn, rel 2 24
DJNZ doğrudan, rel 3 24
INC @Ri 1 12
1 12 dahil
INC DPTR 1 24
INC Rn 1 12
INC direkt 2 12
JB biti, rel 3 24
JBC biti, rel 3 24
JC akraba 2 24
JMP @A + DPTR 1 24
JMP @DPTR + A 1 24
JNB biti, rel 3 24
JNC göreli 2 24
JNZ akrabası 2 24
JZ göreli 2 24
LCALL adres16 3 24
LJMP addr16 3 24
MOV @Ri, #data8 2 12
MOV @Ri, A 1 12
MOV @Ri, doğrudan 2 24
MOV A, #veri8 2 12
MOV A, @Ri 1 12
HAREKET A, Rn 1 12
MOV A, direkt 2 12
MOV C, bit 2 12
MOV DPTR, #data16 3 24
MOV Rn, #data8 2 12
HAREKET Rn, A 1 12
MOV Rn, direkt 2 24
MOV biti, C 2 24
MOV doğrudan, #data8 3 24
MOV direkt, @Ri 2 24
MOV direkt, A 2 12
MOV direkt, Rn 2 24
MOV doğrudan, doğrudan 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, #veri8 2 12
ORL A, @Ri 1 12
ORL A, Sıra 1 12
ORL A, direkt 2 12
ORL C, /bit 2 24
ORL C, !bit 2 24
ORL C, bit 2 24
ORL doğrudan, #data8 3 24
ORL doğrudan, A 2 12
POP doğrudan 2 24
PUSH doğrudan 2 24
RET 1 24
1 24
RL A 1 12
RLC A 1 12
RR Bir 1 12
RRC A 1 12
SET A 1 12
SETB biti 2 12
SJMP göreli 2 24
ALT A, #veri8 2 12
ALT A, @Ri 1 12
ALT A, Rn 1 12
SUBB A, direkt 2 12
A 1 12 TAKAS
XCH A, #veri8 2 12
XCH A, @Ri 1 12
XCH A, Rn 1 12
XCH A, doğrudan 2 12
XCHD A, #veri8 2 12
XCHD A, @Ri 1 12
XCHD A, Rn 1 12
XCHD A, doğrudan 2 12
XRL A, #veri8 2 12
XRL A, @Ri 1 12
XRL A, Sıra 1 12
XRL A, doğrudan 2 12
XRL doğrudan, #data8 3 12
XRL doğrudan, A 2 12

MONTAJCI YÖNERGELER


As31 aşağıdaki montajcı yönergelerini içerir:

.ORG ifadesi
İfade ifadesiyle belirtilen adreste montaja başlayın. bir hata oluşur
derleyici, daha önce oluşturulmuş bir adres alanı üzerinde birleştirmeye başlarsa
içine toplandı.

.EQU sembolü, ifade
Sembolü ifade değerine ayarlayın. İlk işlem sırasında ifadenin değeri bilinmelidir.
.EQU içeren satırla karşılaşıldığında geçer.

.BYTE ifade, ifade, ...
İfade tarafından belirtilen baytları belleğe toplayın. Dizi de olabilir
bu yönerge ile belirlenir.

.WORD ifade, ifade, ...
İfade tarafından belirtilen kelimeleri hafızaya toplayın. bayt sıralaması
kullanılan, 8031 ​​tarafından kullanılandır.

.FLAG sembolü1, sembol.[0-7]
Symbol1'i symbol.[0-7] ifadesi tarafından belirtilen bit adresine ayarlar. Neresi
[0-7] 0 ile 7 arasında bir karakteri belirtir. Ortaya çıkan bit adresi kontrol edilir.
geçerli bir bit adresi olup olmadığına bakın.

.END Bu yönerge yok sayılır.

.SKIP ifadesi
Konum sayacına ifade değerini ekler. Bir blok rezerve etmek için kullanılır
başlatılmamış veri İfade bayt cinsinden olmalıdır.

sözlüksel SÖZLEŞMELER


- Noktalı virgülden sonraki tüm karakterler, yeni satırla karşılaşılıncaya kadar yok sayılır.

- Sayı aşağıdakilerden biriyle başlamadıkça, tüm sayılar varsayılan olarak ondalıktır:

0x veya 0X
Bu, onaltılık bir sayıyı gösterir. yani. 0x00ff

0b veya 0B
Bu ikili bir sayıyı gösterir. (1'ler ve 0'lar). yani. 0b1100110010

0 Bu, sekizlik bir sayıyı gösterir. yani. 0377

- Sayı aşağıdakilerden biriyle bitmedikçe, tüm sayılar varsayılan olarak ondalıktır
karakterler:

b veya B Bu, ikili bir sayıyı belirtir. Yukarıda 0x kullanılmadığı sürece. yani. 1010101b

h veya H Bu her zaman bir onaltılık sayıyı gösterir, Ancak ilk karakter ise
sayısal değilse, 0x veya 0 belirtilmelidir. Bu kafa karıştırmayı önler
montajcı bir onaltılık sayının bir sembol olduğunu düşünür. Örneğin: 0ffh,
0xffh, 0XffH, 20h, 0x20 ve 020h, geçerli bir onaltılık rakam belirtmek için araçlardır. Fakat
aşağıdakiler değildir: ffh, 0ff.

d veya D Bu, bir sayıyı ondalık basamağa zorlar. 0X kullanılmadığı sürece. yani. 129d

o veya O Bu, sayının sekizli olarak yorumlanmasına neden olur. yani. 377o

- Bir karakter sabiti 'c' olarak girilebilir, burada c bir karakterdir. \b, \n, \r,
\t, \' \0 da geçerlidir. Bir karakter sabiti, bir tamsayı olan her yerde kullanılabilir.
değer olabilir.

- Bir dize, çift tırnak "" içine alınmış bir dizi karakter olarak girilir. Dizi
yalnızca .BYTE yönergesi ile geçerlidir. \b, \n, \r, \t, \" de geçerli kaçışlardır.
Ancak \0 değildir.

- Talimatlar, direktifler ve semboller: R0, R1, R2, R3, R4, R5, R6, R7, A, AB,
ve C, montajcı karışıklığı olmadan büyük veya küçük harfle girilebilir. Bunlar
ancak kelimeler bir kullanıcı sembolü olarak tanımlanamaz. Herhangi bir kullanıcı sembolü kullanılabilir ve
durumda korunacaktır. Dolayısıyla "foo" ve "Foo" kullanıcı sembolleri farklıdır, ancak
"addc", "aDdC" ile aynıdır.

- Bir sembol, herhangi bir alfa sayısal karakter artı alt çizgi ('_') olabilir.

- Bir değerin veya sembolün gerekli olduğu çoğu yerde ifadeler kabul edilir. Bir
ifade aşağıdaki operatörlerden oluşur. Tüm operatörler tamsayıya değerlendirir
nesneler (ilk olarak listelenen daha yüksek öncelikli operatörler):

- Tekli eksi

& Bit-wise VE.

| Bit-Wise VEYA.

* Tamsayı çarpması.

/ Tamsayı bölümü

% Tamsayı modülü

+ Tamsayı ekleme.

- Tamsayı çıkarma.

- Bu operatörlere ek olarak, aşağıdakileri temsil etmek için özel bir '*' sembolü kullanılabilir.
geçerli konum sayacı.

ÖRNEKLER


Aşağıda örnek bir montaj programı bulunmaktadır.

.org 0
başlangıç: mov P3, #0xff ; P3'te alternatif fns kullan
; P1 üzerindeki ledler ters çevrilir.
setb F0 ; yukarı tırmanma
hareket A, #0x01 ; ilk bit

yazın: cpl A ; Bunu yazmak
hareket P1, A
cpl A
çağrı gecikmesi
jb F0, tırmanma ; hangi yöne tırmanıyor?

tırmanılan dn: rr A ; aşağı - sağa kaydır
jnb ACC.0, yaz ; fazlası için geri gel
ayarb F0
ajmp yaz

tırmanış: rl A ; yukarı - sola kaydır
jnb ACC.7, yaz ; fazlası için geri gel
clr F0
ajmp yaz
.son ; bu yönerge göz ardı edildi.

YAZARLAR


Ken Stauffer (Calgary Üniversitesi)[e-posta korumalı]>
Martin Langer[e-posta korumalı]>

AS31(1)

onworks.net hizmetlerini kullanarak çevrimiçi olarak as31 kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad