TürkçeEnglish

İndir
Visual6502 v1.00
Visual6502Pro v1.20
Apps. Examples
Manual
Freeware
Shareware
Örnekler
Kullanım Rehberi

MİKROİŞLEMCİ SİMÜLATÖRÜ

[editör][assembler][debugger][animatör][sanal uygulamalar][örnekler]

Elektormekanik Deney Seti

Visual 6502


Genel Bakış

Visual Mikroiþlemci Simülatörü, Mühendislik Fakültelerinin Elektrik-Elektronik ve Bilgisayar Mühendisliği Bölümlerinde okutulmakta olan Bilgisayar Mimarisi ve Mikroişlemciler derslerinin laboratuvar uygulamalarını karşılamak amacıyla hazırlanmıştır. Mikroişlemci laboratuvarlarında kullanılan Elektromekanik Deney Setleri, sınıfların kalabalık olması, zaman ve mekân bakımından uygun olmayışı, daha fazla temin edilmesi durumunda ekonomik olmaması ve bakım-onarım gerektirmesi sebebiyle pek tercih edilmemektedir. Bilgisayar kaynakları ve çoklu-ortam araçlarındaki gelişmeler, pahalı ve hantal sistemler yerine kişi ve kuruluşları sanal öğretim araçlarına yöneltmiştir. Elektromekanik deney setlerine göre oldukça düşük maliyetli olan bu simülatör okulların beklediği ihtiyacı karşılamaktadır. Bilgisayar olan her ortamda çalışan bu program, öğrencilerin her yerde program yazabilmelerini veya ödevlerini yapabilmelerini sağlamaktadır. Gerektiğinde yardım için internet ortamından yardım alabilmek ve ilgili forum'lara katılabilmek imkanına sahiptir.

Elektromekanik deney setlerinde verinin nasıl bir yol takip ettiği, denetim sinyallerinin birimleri nasıl tetiklediği görülememektedir. Yazılan programların tekrar tekrar denenebilmesinde ve programın derlenmesinde pek çok sorunlar ortaya çıkmaktadır. Bir dönem bilgisayar mühendisliği öğrencilerine uygulanması ve bir anket uygulaması sonucunda, öğrencilerin mikroişlemci simülatörünü elektromekanik deney setlerine göre daha kolay öğrenilebilir ve ilgi çekici olduğu ortaya çıkmıştır.

Bünyesinde Editör, Assembler, Debugger, Animatör ve Sanal Uygulama modülleri bulunduran Visual Mikroiþlemci Simülatörü, grafik ve görsel ortamda her türlü ihtiyacý karþýlayacak biçimde tasarlanmýþtýr. Baþka hiçbir simülatörde bulunmayan animatörde (hata ayýklayýcý dahil), sisteme bellek ve G/Ç birimleri de dahil edildiðinden bir mikrodenetleyici veya PIC ya da tam anlamýyla bir mikrobilgisayar sistemini taklit etmektedir.

Editör

Assembly dilinde program yazmak, kesmek, biçmek, eklemek ve deðiþiklik yapmak için bir platformdur. Simülatöre yerleþik olan bu metin düzenleyicisinde yazýlan programlar ASM uzantýlý olarak saklanabilir veya daha önce yazýlmýþ programlar yüklenerek üzerinde deðiþiklikler yapýlabilir.

Assembler

Metin düzenleyicisinde yazýlan kaynak programlar (ASM uzantýlý) ASSEMBLER butonuna basýlarak anýnda makina diline çevrilebilir. Ana menüde açýlan yeni pencerede adresler, hex makina kodlarý ve etiketlerin yerine gerçek adresleri konulmuþ assembly programdan meydana gelmektedir. Eðer programda hata varsa bu pencerenin yerine hata mesaj penceresi açýlacak ve hata kodu ve no'su yazacaktýr. Bu hatanýn üzerine fare ile týklandýðýnda kürsör progradaki hatanýn üzerine gidecektir. Düzeltme yapýldýktan sonra tekrar ASSEMBLER butonuna basýlmasýyla birlikte makina kodlarý üretilmektedir.

Assemblerin en temel özellikleri günümüz iþlemcilerinde Intel'den esinlenerek tasarlanmýþtýr. Programda veri tanýmlanýrken .DATA Adres ifadesinde sonra bu veri veya veri grubunun bellekte nereye yerleþeceði tanýmlanýr.

.DATA $20

SAYI .BYTE $25,45,$5A,00

TAB .BYTE 15,20,25,"ELEKTRONIK"

Yukarýdaki tanýmlamayla, veri bölümünde bir dizi baytlýk hex veya ondalýk veya string veriler yerleþtirilmiþtir. SAYI ve TAB etiketli adreslere bu veriler sýralanmýþtýr. .DATA'nýn yanýndaki $20 ifadesi altýndaki verilerin bellekte yerleþeceði orijin noktasýný verir.

Program alanýna yerleþecek kodlarýn tanýmlanmasý .CODE Adres ifadesi ile yapýlýr. Kodlar bellekte hangi adresten itibaren yerleþecekse .CODE'nin yanýna o adres yazýlýr.

.CODE $0200

LDA #$25

ADC SAYI

STA SAYI+3

BRK

Burada .BYTE ifadesi kendinden sonra gelecek verinin bayt cinsinde olduðunu gösterir. 6502 mikroiþlemcisi 8-bitlik bir iþlemci olduðundan verilerin tanýmlanmasýnda sadece BYTE talimatý yeterli olacaktýr.

Debugger

Asembly dili kurallarýna göre yazýlan program assembler kurallarýna uyularak makina koduna çevrildikten sonra hata olup olmadýðýný veya hedeflenen iþlemi gerçekleþtirip gerçekleþtirmediði DEBUGGER (Hata Ayýklayýcý) modülünde incelenir. Ana menüdeki DEBUGGER butonuna basýldýðýnda ekrana Kaydediciler penceresi, veri belleði penceresi, program belleði penceresi ve yýðýn belleði penceresi açýlýr. Programýn çalýþmasý sýrasýnda gerçekleþen olaylarý gözlemlemek (analiz) için bu pencereler gereklidir. Kaydediciler penceresinde, genel amaçlý kaydediciler dýþýnda PIA G/Ç birimi kaydedcileri de yeralmaktadýr. Program çalýþýrken kaydedici içerikleri sürekli gözlenebilmektedir. Bayrak kaydedicisi iþlemlerde doðrudan etkili olduðundan bit bit gösterilmiþtir.

A, X ve Y genel amaçlý kaydedicilerden baþka, PC, SP ve Bayrak kaydedicileri içerikleri ve ayrýca PIA'nýn 6 adet A ve B portu kaydedicileri de gözlenebilmektedir. Programýn veya altprogramlarýn kaç saykýl çektiði bu pencereden gözlenebilir.

Bellek pencerelerinden, 64KB'lýk adres uzayýndaki veriler veya kodlar gözlenebilmektedir. Bu bölgelerdeki veri deðiþimleri çalýþma anýnda görülebilir.

Program çalýþtýrýlmasý, kullanýcýya baðlý olarak kesintisiz (RUN), klavye tuþuna basýlarak (adým adým) ve belli bir hýzda adým adým çalýþtýrma seçeneklerine sahiptir. Bu iþleme ait butonlar ana menünün sað üstündedir. Adýmlama hýzý pull-down simülatör menüsündeki seçenekler bölümünden ayarlanabilir. Kullanýcý istediði taktirde Editör alanýnda fare týklamasýyla Breakpoint (durma noktasý) koyabilir ve istediðinde yeni bir týklamayla kaldýrabilir.

Program çalýþýrken editör ve makina kodu bölümünde bir çalýþma þeridi çalýþan komut satýrý üzerinde dolaþmaktadýr. Böylece program tarafýndan iþlemci üzerinde gerçekleþtirilen olaylar gözlenebilmektedir.

Program eðer giriþ veya çýkýþ elemanlarý üzerinde yapýlýyorsa o cihaza ait butona basýlarak geliþen olayla gözlenebilir.

Animatör

Program hata ayýklama bölümünde iyice analiz edildikten sonra sistem üzerinde kodlar ve veriler nasýl bir düzende hareket ettiði ANÝMATÖR'de gözlenebilir. Tüm kaydediciler, veri yollarý, bellek birimi ve PIA birimini yer aldýðý bu modülde, veri akýþý ve kontrol iþlemlerinin analizi ve gözlenmesi gerçekleþtirilir. Programýn makina kodlarý, kodlarýn bellekten alýnýp getirilmesi, kodunun çözülmesi ve gereðinin yerine getirilmesi adým adým bu bölümde içerikleriyle birlite incelenebilmektedir. Eðitim açýsýndan söylenen fakat bir türlü ifade edilemeyen olaylar burada canlandýrýlmýþtýr. Giriþ ve Çýkýþ çevre birimleri bu modülde de devreye sokulabilir.

Sanal Uygulamalar

Sanal uygulamalarda, mikroiþlemcinin PIA G/Ç entegresi kullanýlarak çeþitli çevre birimleri denetlenmektedir. Giriþ elemaný olarak anahtar grubu, çýkþ elemanlarý olarak, LED gruplarý, Trafik lambalarý ve 7-Segment Display grubu kullanýlmaktadýr.

Visual Mikroiþlemci Simülatöründe hedef alýnan, endüstriyel okullara Dünya Bankasý desteðiyle Endüstriyel Okullar Projesinden alýnan 6502 Lab-Volt deney setleridir. Okullarýn tamamýnda müfredat bütünlüðü saðlamak amacýyla bu deney seti seçilmiþtir. 6502 mikroiþlemcisi diðer zamandaþ iþlemciler içerisinde bilgisayarlarda kullanýlan kendini kanýtlamýþ tek iþlemci olmasýndan dolayý hedef alýnmýþtýr. 56 komut ve 13 adresleme moduna sahip bu iþlemcinin komut kümesi 150 civarýnda olup, nerdeyse günümüz iþlemcilerinin komut kümesine sahiptir. Belleði en etkin kullanan ve ilk iþ-hattý mimarisine sahip bu iþlemci Apple II, Commodore ve Atari gibi bilgisayar sistemlerinde kullanýlmýþtýr.

Mikroiþlemcinin, mikrodenetleyicinin veya PIC'in görevi bir elemaný veya sistemi belli bir program dahilinde denetlemektir. Mikroiþlemciler diðerlerinin yanýsýra DSP gibi, yüksek oranda veri manipulasyonu ve manevrasýnda kullanýlmaktadýr. Büyük ve özellik isteyen sistemler mikroiþlemci kullanmaktadýr. Diðer mikroiþlemci türevleri denetleyici veya PIC'ler özel bir veya bir kaç iþlemi gerçekleþtirmek maksadýyla sisteme dahil edilirler. Bu elemanlarý mikroiþlemciden ayýran ana özellik, kendilerine has RAM/ROM veya türevleri belleklere sahip olmalarýdýr. Ayrýca bünyelerinde ADC veya DAC sinyal dönüþtürücülere de sahiptirler. Sisteminde bellek ve G/Ç elemaný olan mikroiþlemci deney setleri de bu özellikleri bünyesinde barýndýrmaktadýr. Mikroiþlemci deney setine sahip okullarýn ayrýca diðer türevlerin setlerini edinmelerine gerek yoktur.

Program Örnekleri

; Altyordam ve kesmelerin kullanýmý
.CODE $0200
START LDA  #$55
SEC
SBC  #05
JSR   SAP
LDA  #$CC
TAX
TXS
JSR   SAP
LDX  #$AA
JMP  START
BRK
SAP LDX  #05
DEV NOP
DEX
BNE  DEV
RTS
;Bu bölüm önlenemez kesme bölümüdür
NMI LDA   #00
STA   CRA
LDA   #$FF
STA   DDRA
LDA   #04
STA   CRA
LDA   #0
NEW INC   ORA
BMI   BACK
JMP   NEW
BACK RTI
;Bu bölüm IRQ kesme bölümüdür
IRQ LDA   #00
STA   CRB
LDA   #$FF
STA   DDRB
LDA   #04
STA   CRB
LDA   #$CC
STA   ORB
LDA   #$33
STA   ORB
RTI
;IRQ kesme vektör adresi
.CODE $F3A9
JMP IRQ
;NMI kesme vektör adresi
.CODE $F3A6
JMP NMI
;RES kesme vektör adresi
.CODE $F319
JMP $0200 ;programýn baþlangýç adresine dön
END ;program sonu

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Temel mikroiþlemci mimarisi, organizasyonu ve bilgisayar yapýsýnýn düþük düzeyli programlama dili ile öðretiminde VISUAL6502 MÝKROÝÞLEMCÝ SÝMÜLATÖR size yeterli olacaktýr.