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.