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 komut çılgınlığıdır.
Program:
ADI
crasm - 6800/6801/6803/6502/65C02/Z80 için çapraz montajcı
SİNOPSİS
çılgın [-veya kod dosyası] [-slx] asm dosyası
Mikroişlemci programını birleştirin asm dosyası ve çıktı dosyası üret kod dosyası Intel HEX'te
veya Motorola S Kodu biçimi. Ayrıca bir program listesi ve bir sembol tablosu da üretilir.
standart çıktı. şu anki sürümü çılgın için programları bir araya getirebilir. 6800, 6801,
6803, 6502, 65C02, ve Z80 işlemciler Çağırdığınızda tam liste yazdırılır çılgın
argümanlar olmadan.
SEÇENEKLER
-o kod dosyası
Çıktı dosyasının adını belirtin. Bu olmadan hiçbir çıktı dosyası üretilmez
seçeneği.
-s Uyarıları devre dışı bırakın.
-l Program listeleme çıktısını devre dışı bırakın.
-x Sembol tablosu çıkışını devre dışı bırakın.
SÖZDİZİMİ
Montaj programının her satırı aşağıdaki şablonlardan birini izlemelidir;
parantezler isteğe bağlı parçaları sınırlar.
[;yorum Yap]
etiket = ifade [;yorum Yap]
[etiket] hafıza işlenen [;yorum Yap]
Yorumlar noktalı virgülle (;) ve satırın sonuna kadar uzatın. Etiketler
36'ya kadar alfasayısal karakter içeren tanımlayıcılar (nokta ve alt çizgi dahil).
Etiketler bir rakamla başlayamaz. Anımsatıcılar ve işlenenler alanının biçimi,
seçilen mikro işlemcide. Tüm işlemciler için birkaç anımsatıcı geçerlidir ve
toplananlara direktif vermek için kullanılır. Bunlar "sözde anımsatıcılar" olarak bilinir.
Etiketler
Etiketler, temsil eden tanımlayıcılardır.
- mutlak bir adres,
- göreceli bir adres (konumdan bağımsız kod),
- bir kayıt,
- bir kayıt listesi,
- belirli bir adreste belirli bir bit,
- veya bir anımsatıcı.
Çoğu etiket en fazla 36 alfasayısal karakterden, noktalardan (.) Veya
alt çizgi (_). Etiketler bir rakamla başlayamaz. Büyük/küçük harfe duyarsızdırlar.
Nokta ile başlayan etiketler (.) kapsamı aşağıdakilerle sınırlı olan yerel etiketlerdir.
tanımlandıkları makroya veya sözde anımsatıcılarla sınırlanan kod bölümüne
KOD or YAPAY.
Önceden tanımlanmış "yıldız" etiketi (*) geçerli program sayacını temsil eder, yani,
sonraki montaj kodu talimatının kodlanacağı adres. Diğer önceden tanımlanmış
etiketler tüm sözde anımsatıcıları, mikro işlemciye özgü anımsatıcıları ve kaydı içerir
isimler.
Sabitler
Birleştirilmiş, ondalık, onaltılık, sekizlik olarak ifade edilen sayısal sabitleri tanır,
ikili veya ascii.
┌──────────────────────────────────────────── ─────────┐
│Tip oluşturulan Örnekler │
├─────────────────────────────────────────── ─────────┤
│ ondalık dddd 1234, 675, 12, 1Ama 0.12. │
├─────────────────────────────────────────── ─────────┤
│ onaltılık $dddd $fd12, $2AC, $0. │
│ ddddH 03H, 2da7H, 0FC84HAma FC84H. │
│ 0Xdddd 0x03, 0x2AC, 0Xfc84. │
├─────────────────────────────────────────── ─────────┤
sekizli ddddQ 377Q, 012412Q. │
├─────────────────────────────────────────── ─────────┤
│ ikili %dddd % 01110110, % 1100. │
│ ddddB 01110110B, 1100B. │
│ 0Bdddd 0b1100 │
├─────────────────────────────────────────── ─────────┤
│ascii 'cccc' 'a', 'AB', '''', '\n', '\''. │
│ "cccc" "\T", "\"", "a'b". │
└─────────────────────────────────────────── ─────────┘
İfadeler
Etiketler gibi, ifadeler de mutlak bir adresi temsil edebilir (abs), göreli bir adres
pozisyondan bağımsız kod (rel), bir kayıt (reg) veya bir kayıt listesi (kayıt listesi) veya bir
belirli bir adresteki belirli bir bite referans (bspec).
Aşağıdaki operatörler ifadelerde tanınır.
┌─────────────────────────────────────────── ──────────┐
│Sözdizimi Sonuç Açıklama │
├─────────────────────────────────────────── ──────────┤
│ abs{abs} bspec bit referansı, örn. pia{3} │
│ ADR(abs) abs bir bit referansından adres │
│ BİRAZ(abs) abs bir bit referansından bit numarası │
├─────────────────────────────────────────── ──────────┤
│ - abs abs ikinin tamamlayıcısı │
│ ~ abs abs tamamlayıcı │
├─────────────────────────────────────────── ──────────┤
│ abs << abs abs sola kaydırma
│ abs >> abs abs sağa kaydırma
├─────────────────────────────────────────── ──────────┤
│ abs | abs abs bitsel veya │
│ abs & abs abs bitsel ve │
│ abs ^ abs abs bitsel xor │
├─────────────────────────────────────────── ──────────┤
│ abs * abs abs çarpma │
│ abs * abs abs bölme │
├─────────────────────────────────────────── ──────────┤
│ abs + abs abs ek │
│ rel + abs rel ek │
│ abs - abs abs çıkarma
│ rel - abs rel çıkarma
│ rel - rel abs çıkarma
├─────────────────────────────────────────── ──────────┤
│ reg - reg kayıt listesi kayıt aralığı
│ kayıt listesi \ reg kayıt listesi kayıt listesi │
└─────────────────────────────────────────── ──────────┘
Tablo, operatörleri azalan öncelik sırasına göre listeler. parantez için kullanılabilir
belirsizliklerden kaçının. Tüm bir ifade ile çevrelendiğinde bir uyarı oluşturulur.
parantez ve bir mikro işlemci adresleme modu ile karıştırılabilir.
Örnekler:
(taban+12$) >> 8 & 0xff00
'A'-80H
(taban+0x12)
Son örnek, parantez gerekli olmadığı için bir uyarıya neden olur ve
bir mikro işlemci adresleme modu önerir.
Tüm aritmetik ifadeler 32 bit üzerinden değerlendirilir. Aritmetik işlemler taşması
sessizce. Aritmetik değerler daha sonra mikro ile ima edilen boyuta kesilir.
işlemci anımsatıcı Bu kesme bir uyarı mesajına neden olabilir.
Örnekler: aşağıdaki talimatların tümü
(6502) lda # $ 1234
(6800) Idaa 1234 $
(Z80) ld (ix+0C2H),b
bir uyarıya neden olmak
>>> UYARI: Operand taşma
Ancak ifade
$1123454 * 1298992
sessizce taşar.
sözde anımsatıcılar
Aşağıdaki sözde anımsatıcılar her zaman tanınır.
işlemci işlemci adı
Seçilen mikro işlemci tipini gösterir. Bu, mikrodan önce görünmelidir.
işlemciye özel talimat olası değerleri işlemci adı ne zaman listelenir
çağırmak çılgın argümanlar olmadan. Geçerli liste şunları içerir: 6800, 6801, 6803, 6502,
65C02, ve Z80
ÇIKTI binformat
Çıktı dosyasının biçimini belirtir. Argüman binformat değerler alabilir SKODU
Motorola'nın S kodunu kullanarak bir çıktı dosyası oluşturmak için veya HEX Intel'in Hex'i için
biçim. Varsayılan, seçilen mikro işlemciye bağlıdır.
KOD
Yerel etiketlerin kapsamını sınırlandırın ve bir program bölümü tanıtın.
YAPAY Yerel etiketlerin kapsamını sınırlandırın ve tek
etkisi, kod oluşturmadan etiketleri tanımlamaktır.
etiket EQU ifade
etiket = ifade
Etiketin değerini tanımlayın etiket. Bu yönergeler kullanılarak tanımlanan etiketler şunlar olabilir:
programda daha sonra yeniden tanımlanmıştır.
[etiket] DB ifade[,...,ifade]
Belirtilen veri baytlarını (8 bit) ekleyin.
[etiket] DW ifade[,...,ifade]
Belirtilen veri sözcüklerini (16 bit) girin. Bayt sıralaması şunlara bağlıdır:
seçilen mikro işlemci
[etiket] DL ifade[,...,ifade]
Belirtilen veri uzunluklarını (32 bit) ekleyin. Bayt sıralaması şunlara bağlıdır:
seçilen mikro işlemci
[etiket] DDB ifade[,...,ifade]
Belirtilen çift baytı (16 bit) ekleyin. Bayt sıralaması bunun tersidir.
seçilen mikro işlemci için olağan bayt sıralaması.
[etiket] ASC dize sabiti
Dizenin ascii temsilini ekleyin dize sabiti . Dize olmalı
çift tırnak ile sınırlandırılmıştır. C kaçış dizileri \r, \n, \t, \0, \', \", ve \\
tanınmış.
[etiket] DS sayım ifade,[valexpr]
iç sayım ifade değerli bayt valexpr. Varsayılan değer sıfırdır.
[etiket] ALIGN BİLE
[etiket] ALIGN ODD
Program sayacını çift veya tek yapmak için boş bir bayt ekleyin.
IF condeexpr
Kendi ID’n ile mağazalarını oluştur
ELSE
Kendi ID’n ile mağazalarını oluştur
ENDC
Koşullu derleme: If ifadesi condeexpr sıfır değil, bulunan satırları işleyin
arasına IF ve ELSE sözde anımsatıcılar. Aksi takdirde bulunan hatları işleyin
arasına ELSE ve ENDC sözde anımsatıcılar. Koşullu montaj talimatları
yuvalanabilir. NS ELSE kısım atlanabilir.
etiket MAKRO
Kendi ID’n ile mağazalarını oluştur
ENDM
Yeni bir anımsatıcı tanımlayın etiket arasında bulunan tüm talimatlara eşdeğerdir.
MAKRO ve ENDM sözde anımsatıcılar. Makronun çağrıları aşağıdakilerin bir listesini belirtebilir:
virgülle ayrılmış işlenenler. karakter dizileri \1, \2, ... \N makroda
tanım, sağlanan işlenenlerle değiştirilir. karakter dizisi \0 is
sağlanan işlenen sayısı ile değiştirilir.
ÇIKIŞ
Bu sözde anımsatıcı, makrodan çıkmak için bir makro tanımı içinde kullanılabilir. Bu
koşullu derleme sözde anımsatıcılarıyla birlikte kullanışlıdır.
DAHİL Dosya
Derleyiciyi adlı dosyayı işlemeye zorla Dosya şimdiki noktada.
LİSTESİ ON
LİSTESİ !!!
Bir listelemenin üretimini etkinleştirin veya devre dışı bırakın (varsayılan açıktır.)
clist ON
clist !!!
Bir işletmenin aktif olmayan dalları için listeleme üretimini etkinleştirin veya devre dışı bırakın.
koşullu derleme yapısı (varsayılan açıktır.)
İLİST ON
İLİST !!!
Dahil edilen dosyalar için bir liste oluşturmayı etkinleştirin veya devre dışı bırakın (varsayılan kapalıdır.)
MLİST ON
MLİST !!!
Makro genişletmeleri için bir listenin üretimini etkinleştirin veya devre dışı bırakın (varsayılan
kapalı.)
NAM başlık
İsim sağlayın başlık listeleme sayfalarının başlığı için.
SAYFA
Yeni bir listeleme sayfası başlatın.
SAYFA sütunlar,satır
Listeleme sayfasının boyutunu belirtin.
ATLAMA numara
Atlamak numara çizgiler.
FAIL mesaj
Bir hata mesajı oluştur mesaj.
ÖRNEK
İşte küçük bir 6502 programı:
cpu 6502
cout = $ fded ; ekran a karakter
* = $300 ; birleştirmek at $300
kod
pstring Idy #0
.1 lda mesaj,y
beq .2
jsr cout
ins
.2 ben .1
RTS
mesaj Artan "Bu is the mesaj "
kod
KREDİ
Leon Bottu, Eylül 1987.
onworks.net hizmetlerini kullanarak çevrimiçi çılgınlığı kullanın