Upload
others
View
4
Download
1
Embed Size (px)
Citation preview
MICROPROCESSORS
ESA 86/88-3 KULLANIM KLAVUZU
Microprocessors dersinin deneyleri için kullanılan ESA 86/88-3 board’unun resmi
yukarıdadır. Board ile iletişime geçebilmek ve assembler’ını kullanmak için size verilen
klasördeki programlar kurulmalıdır. Öncelikle “esa86_88_3” klasörüne giriniz. Bu klasörün
içinde board ile iletişime geçmek için kullanılan “win863s” programı ve “xtools” klasörünün
içinde de assembler’ı bulunmaktadır. Daha sonra ana klasördeki ” USB to RS232 1.1”
klasörüne bakınız. Bu klasörde window içindeki setup çalıştırılarak rs232-USB çeviricisinin
driver’ı kurulacak. Sol altta board’a bağlı olan rs232 kablosunun resmi vardır. Bu kablonun
diğer ucunda rs232-USB çeviricisi vardır. Çeviricinin ucu bilgisayarın herhangi bir usb portuna
takılabilir. Bu sayede usb portu com port
olarak çalışabilir.
Deney Setinin Fiziksel Olarak
Kurulması: Deney setinin adaptörünü fişe
takınız. Adaptörü “on” yaptıktan sonra sağ
alttaki LCD’de “ESA ..” ile başlayan yazılar
ekrana gelir. Yazı gelmesi ile board’un
hatasız çalıştığı anlaşılabilir. Board ile
bilgisayarımızı haberleştirebilmek için rs232
kablosunu soldaki gibi board’a takınız. Daha
sonra diğer ucuna rs232-usb çeviricisini
kablonun diğer tarafına takınız ve bilgisayarın
herhangi bir usb portuna yerleştiriniz.
Board’un fiziksel olarak kurulumu bu kadardır.
Gerekli Programların Kurulumu: Kurulması gereken üç program var. Board ile iletişimde
kullanılan “WIN 86-3” programı, rs232-usb çeviricinin driver’ı ve son olarak board’un
assemler’ının bulunduğu xtools programı.
1. İlk olarak board ile haberleşmek için kullanacağımız win863s programını kuralım. Size
verilen klasörü açın ve “esa86_88_3\win863s\setup.exe “ yi çalıştırınız. Aşağıdaki
ekran geldiğinde soldaki bilgisayar resmi olan buton’a basarak devam ediniz.
Yukarıdaki ekran geçtikten sonra aşağıdaki ekran gelir. Bu ekranda programı hangi
gruba yükleyeceğini sorar. Burda direk continue diyerek devam ediniz.
Yukarıdaki ekranda continue dedikten sonra aşağıdaki ekrandaki gibi mesajlar
verebilir. Bunların hepsine “Yes” buton’una basarak devam ediniz.
En sonunda basarılı bir şekilde kurulduğu ile ilgili bir mesaj verir ve kurulum biter.
Kurulum bittikten sonra masaüstünde “WIN 86-3” icon gelir. Eğer yok ise “program
files” içinde “WIN 86-3” klasöründen kısayol yaratılabilir.
2. İkinci olarak board’un assembler’ını kuralım. Size verilen klasörde
“esa86_88_3\XTOOLS\xtools.exe” yi çalıştırın. İlk gelen ekranda “enter” a basınız.
Daha sonra aşağıdaki ekran gelicektir.
Bu ekranda serial number ve install key sorulmaktadır. Serial Number: 03497, Install
Key: XTJYZ0IGC9 olarak giriniz ve enter’a basınız. Gelen ekranda “Y” tuşuna basınız
ve daha sonra “enter” a basarak kurulumu bitiriniz. Kurulum bittikten sonra
bilgisayarınızın C: dizininde “XTOOLS” adlı bir klasör oluşur. “XTOOLS” dizinin içinde
bütün microprocessor çeşitleri için assembler’lar bulunmaktadır. ESA 86/88-3
board’uiçin asm86 isimli assembler kullanılır.
3. Son olarak rs232-USB çeviricisinin driver’ı kurulmalıdır. Bunun için size verilen
klasörde “USB to RS232 1.1\window\setup.exe” yi çalıştırınız. Setup’ı bitirmek için
sürekli ileri tuşuna basınız. Ek olarak herhangi bir şey yapmanıza gerek yoktur.
En Baştan Sona Kadar Bir Programın Board Üzerinde Çalıştırılması
Örnek olarak memory’nin 0000:2050 adresindeki verileri AX register’ında toplayan
uygulamayı yazıp, asm86 assembler’ında derledikten sonra board’a yükleyip çalıştıralım.
ESA 86/88 ‘in assembler’ının bazı özellikler standart olan assembler’lardan biraz farklıdır.
İlk olarak assembler’ın özelliklerinden bahsedelim.
Uygulamalar genellikle 0000:2000 adresine yüklenir ve bunun için ilk başta ORG
$2000 komutu çalıştırılır.
Her sayının başına “$” işareti koyulur.
MOV, ADD, ORG ... gibi komutları yazmadan önce bir tab boşluk bırakmak
gereklidir yoksa hata verir.
Label ve sabitler yani EQU tanımlamaları yazılmadan önce tab koyulmamalıdır,
sola bitişik yazılmalıdır.
Register’lara immediate data atamaları sabitler üzerinden yapılmalıdır. Örneğin
“MOV AH,$10” yerine 10 değeri yukarıda “DATA1 EQU $10” olarak tanımlanmalı
ve “MOV AH,#DATA1” olarak yazılmalıdır.
Komutları yazarken boşluk olması gereken yerde en fazla tek space karakteri,
diğer yerlerdede hiç boşlul olmamalıdır. Örneğin “MOV AH,#DATA1” komutu
“MOV AH, #DATA1” olarak yazılırsa yani virgülden sonra boşluk olursa hata verir.
Herşey bitişik yazılmalıdır.
Interrupt’lar çalışmamaktadır. Sağ alttaki LCD’ye yazı yazdırmak için belirlenmiş
adreslerden call yapılmalıdır. Direk call’da yapılamamaktadır bu çünkü “call
0FE00:0000” dediğimizde hata vermektedir bunun yerine “CALL FAR” ın hex
komutu yazılmalıdır. Örneğin “DB 9AH,00H,00H,00H,0FEH” komutu gibi.
Geliştirilen örnek aşağıdadır.
ORG $2000 ADRESS EQU $2050 RESET EQU $0 MOV AH,#RESET MOV SI,#ADRESS MOV BH,[SI] ADD AH,BH INC SI MOV BH,[SI] ADD AH,BH INC SI MOV BH,[SI] ADD AH,BH INC SI MOV BH,[SI] ADD AH,BH RET ORG $2050 DB $00,$01,$02,$03,$04,$05
DB $06,$07,$08,$09,$10
Assembly programlarınızı herhangi bir text editöründe yazabilirsiniz. Programı yazdıktan
sonra dosyaları .asm uzantılı olarak kaydediniz. Yukarıda yazılan programı asm86 ile .hex
uzantılı dosya oluşturmak için programı asm86.exe’sinin bulunduğu yere veya “XTOOLS” un
alt bir klasörüne koyunuz. Ben yapacağım örnekte asm dosyamı Onur\Print\print.asm olarak
yerleştirdim. Bu asm programını derlemek için asm86 kullanılacaktır. Bu assembler’ı
kullanmak için command prompt’a girmek gereklidir. İlk olarak “Başlat” a basınız ve “çalıştır” ı
tıklayınız. Gelen ekranda “cmd” yazınız.
Yukarıdaki ekran geldikten sonra iki defa “cd..” diyerek C: dizinine geliniz ve daha sonra “cd
XTOOLS” diyerek xtools klasörüne geliniz. Eğer sizin XTOOLS klasörünüz farklı bir yerde ise
siz oraya ulaşınız. Kaydettiğimiz assembly programını derlemek için “asm86
Onur/Print/Print.asm -i” yazınız ve enter a basınız. Assembler bize hatamız olup olmadığını
bildirir. Örneği aşağıdaki resimde bulunmaktadır. Bu komutu çalıştırdıktan sonra asm
dosyasının bulunduğu yerde .hex uzantılı bir dosya oluşmuştur. Bu dosya board’a yükleyip
çalıştıracağımız dosyadır.
Board ile bağlantı sağlamak için öncedende bahsettiğimiz gibi rs232-usb çeviricisi
bilgisayarımıza bağlı olmalıdır. Önceden kurmuş olduğumuz “WIN 86-3” programını
çalıştırınız. Program ilk başladığında board ile haberleşeceği com port ‘u açmaya çalışır. Eğer
doğru port belirtilmemişse hata verir ve aşağıdaki resimdeki hatayı verir. Bu hata bağlantı
kurulmak istenilen port’un kullanımda olduğunu belirtir veya olmadığı anlamındadır. Ekranda
çıkan mesaja evet diyerek com port ayarlanabilir. Peki, hangi port olacağını nerden bileceğiz
diye düşünüyorsanız, bilgisayarıma sağ tıklayıp özelliklere tıklayın. Daha sonra aygıt
yöneticisine giriniz.
Yukarıdaki görüntü hata mesajıdır aşağıdaki ise aygıt yöneticisine girdiğinizdeki görüntüdür.
Aygıt yöneticisinde “Bağlantı noktaları(COM ve LPT)” isimli ağaç menude, menu olması gerek.
Orda bilgisayara taktığınız rs232-usb çeviricisi hangi com port’a yerleşmiş olduğu yazar.
Buraya bakım hangi com port olduğunu anlayabilirsiniz. Bazen bu port com1’e yerleşir ve
sorun olur. Değiştirmek için “Bağlantı noktaları(COM ve LPT)” nin altındaki yazıya çift tıklayın
ve çıkan ekranda “Bağlantı noktaları ayarı” sekmesine geliniz.
Burda “Gelişmiş” buton’una basarak yeni bir ekran gelir ve bu ekranda sol altta com bağlantı
noktasını değiştirebilirsiniz. Burda belirlediğiniz com port, board ile haberleşeceğiniz port’tur
ve “Win 86-3” programı başladığında da burda belirttiğiniz port’un aynısını vermeniz
gereklidir.
Com port ayarlarından sonra program sorunsuz bir şekilde açılacaktır. Bazı
bilgisayarlarda bağlantı sağlananamıştır. Kimisinde “Win 86-3” programı başlatıldığında dosya
erişim hatası verdi ve çözüm için bu programın bulunduğu dizine yani “program files\Win 86-
3” dizinine tüm yetkileri atayarak çözülmüştür. Bazı bilgisayarlarda da bir türlü connection
kurulamadı. Connection kurulamamasının nedeni ise com port’ların başka .exe ler tarafından
kullanıyor olması olabilir.
Program düzgün bir şekilde başladı ise sol altta “Connected” yazısı yazar. Board’a
program yükleyebilmek için sol üstteki ikinci buton olan “download” buton’u kullanılır.
Download butonuna bastıktan sonra aşağıdaki gibi bir ekran görüntüsü gelir. Bu ekranda
asm86 ile oluşturulan .hex uzantılı dosya seçilir ve “Ok” butona basarak program board’a
yüklenir.
Program board’a yüklendikten sonra, soldan dördüncü buton olan disassembly
butonuna basarak kodlarımızı görebiliriz.
Çıkan ekranda Start Address kısmına 0000:2000 yazdıktan sonra “Disassemble” butonuna
barak ve kodumuzun ilk başladığı yeri görebiliriz. Disassemble ekranında adım adım
kodumuzu çalıştırabiliriz. Çalıştırmaya başlamadan önce “Set PC” butonuna basarak program
counter’ı 0000:2000 adresine gelmesi sağlanır. Daha sonra “step over” diyerek çalıştırmaya
başlarız.
Program adım adım çalıştırılırken register’ların durumlarını görmek içinde üstteki menudeki
soldan üçüncü butona basarak incelebilir.