Professional Documents
Culture Documents
Mikroişlemciler
Mikroişlemciler
UAK BAKIM
MKROLEMCLER
523EO0014
Ankara, 2011
Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak rencilere rehberlik etmek amacyla hazrlanm bireysel renme materyalidir. Mill Eitim Bakanlnca cretsiz olarak verilmitir. PARA LE SATILMAZ.
NDEKLER
AIKLAMALAR ...................................................................................................................iii GR ....................................................................................................................................... 1 RENME FALYET- 1....................................................................................................... 3 1. MKROLEMCLER ......................................................................................................... 3 1.1. letiim Hatlar (Buses) ................................................................................................ 3 1.1.1. Adres Hatlar (Adress Bus) .................................................................................. 4 1.1.2. Bilgi Hatlar (Data Bus) ....................................................................................... 4 1.1.3. Kontrol Hatlar (Control Bus) .............................................................................. 5 1.2. Kaydediciler (Registers)............................................................................................... 5 1.2.1. Genel Amal Kaydediciler.................................................................................. 5 1.2.2. zel Amal Kaydediciler.................................................................................... 6 1.3. Aritmetik Mantk Birimi (ALU) .................................................................................. 8 1.3.1. Aritmetik Mantk Birimi (ALU) .......................................................................... 8 1.3.2. Aritmetik Mantk Biriminin levi ....................................................................... 9 1.3.3. Aritmetik lemler Kavram ................................................................................. 9 1.3.4. Mantksal lemler Kavram ................................................................................. 9 1.4. Buffer ve Multiplexerler ............................................................................................. 9 1.5. Tek ve oklu Adres Komutlar eren Kelimelerin Oluturulmas............................ 10 1.6. Mikroilemcinin Tanm ............................................................................................. 10 1.7. Mikroilemci eitleri................................................................................................ 12 1.7.1. 8 Bit Mikroilemciler ......................................................................................... 13 1.7.2. 16 Bit Mikroilemciler ....................................................................................... 13 1.7.3. 32 Bit Mikroilemciler ....................................................................................... 14 1.7.4. 64 Bit Mikroilemciler ....................................................................................... 14 1.8. Mikroilemci Sistemin Blok Diyagram..................................................................... 15 1.9. Memory (Hafza)........................................................................................................ 16 1.9.1. RAM (Random Access Memory-Rasgele Eriimli Bellek) ............................... 17 1.9.2. ROM (Read Only Memory-Sadece Okunur Bellek).......................................... 17 1.9.3. EPROM (Erasable Programmable Read Only Memory-Silinebilir Yalnzca Okunur Bellek)............................................................................................................. 17 1.9.4. EEPROM (Electrically Erasable Read Only Memory - Elektiksel Olarak Silinebilen Programlanabilen Yalnzca Okunur Bellek) .............................................. 17 1.9.5. Flash Eprom ....................................................................................................... 18 1.10. CPU (Merkez lem Birimi).................................................................................... 18 1.11. Input/Output(I/O)-Giri/k nitesi...................................................................... 18 1.11.1. Seri Giri/k (COM) .................................................................................... 19 1.11.2. Paralel Giri k (LPT) ................................................................................. 20 1.11.3. USB ( Universal Serial Buses- Evrensel Seri Yol ) ......................................... 21 1.12. Mikroilemci Komutlar ........................................................................................... 22 1.12.1. Ykleme (Transfer) Komutlar ........................................................................ 23 1.12.2. Giri/k Komutlar ....................................................................................... 23 1.12.3. Bit leme Komutlar ........................................................................................ 23 1.12.4. Test ve Dallanma Komutlar ............................................................................ 24 1.12.5. Kaydrma ve Dndrme Komutlar.................................................................. 27 1.12.6. Alt Programlara likin Komutlar .................................................................... 29 i
1.12.7. Interrupt Kesme Komutlar .............................................................................. 29 1.12.8. Aritmetik lem Komutlar ............................................................................... 31 1.12.9. Mantksal lem Komutlar .............................................................................. 34 1.12.10. CPU Kontrol Komutlar ................................................................................. 35 1.12.11. Dier Komutlar .............................................................................................. 35 1.13. Adresleme Yntemleri ............................................................................................. 36 UYGULAMA FAALYET.............................................................................................. 38 LME VE DEERLENDRME.................................................................................... 40 RENME FAALYET- 2 .................................................................................................. 45 2. PROGRAM UYGULAMALARI....................................................................................... 45 2.1. Hafzaya Bilgi Yazma ve Hafzadan Bilgi Okuma Uygulamas ................................ 45 2.2. Program Yazma Aamalarnn Uygulanmas ............................................................. 51 2.2.1. Problem Analizinin Yaplmas ........................................................................... 51 2.2.2. Ak Diyagramnn izilmesi............................................................................. 52 2.2.3. Assembly Dilinin Yazlmas .............................................................................. 53 2.2.4. Assembly Dili Komutlarnn Makine Diline evrilmesi ................................... 55 2.2.5. Programn Kaydedilmesi ve Uygulanmas......................................................... 56 2.3. Giri/k likili Program Uygulamalar ................................................................. 58 2.3.1. Portlardan Bilgi Girilmesi ve klmas ile lgili Program Uygulamalar ......... 58 2.3.2. Buton Kontroll Program Uygulamas .............................................................. 60 2.4. Alt Programlar ve Zaman Geciktirme (Timer) Program Uygulamas ...................... 62 2.5. Saa ve Sola Bit Kaydrma Uygulamalar ................................................................. 62 2.6. Interrupt (Kesme) Program Uygulamalar ................................................................ 64 2.7. Aritmetik ve Karakter Verili Program Uygulamalar................................................. 66 2.7.1. Aritmetik lemli Program Uygulamas ............................................................. 66 2.7.2. Harf ve Sembol kl Program Uygulamalar ................................................. 67 2.8. Kod Dntrc Program Uygulamas .................................................................... 68 2.9. Sensr Girili Program Uygulamas ........................................................................... 69 2.9.1. Ia Duyarl Program Uygulamalar ................................................................. 70 2.9.2. Sese Duyarl Program Uygulamas .................................................................... 70 2.9.3. Isya Duyarl Program Uygulamas .................................................................... 71 UYGULAMA FAALYET.............................................................................................. 72 LME VE DEERLENDRME.................................................................................... 74 MODL DEERLENDRME .............................................................................................. 76 CEVAP ANAHTARLARI ..................................................................................................... 77 KAYNAKA ......................................................................................................................... 79
ii
AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI 523EO0014 Uak Bakm Uak Elektronik Teknisyenlii Mikroilemciler Mikroilemcilerin tanm, programlanmas ve bunlara ilikin rnekleri ieren renme materyalidir. 40/32 Sayclar ve Kaydediciler modln tamamlam olmak Mikroilemcileri programlamak Genel Ama Bu modl ile gerekli mikroilemci donanm salandnda kurallarna gre mikroilemci kontroll sistemleri altrabileceksiniz. Amalar 1. Mikroilemciyi tekniine uygun altrabileceksiniz. 2. Mikroilemciyi hatasz programlayarak sistemi kontrol edebileceksiniz. Ortam: Atlye Donanm: Mikroilemci deney seti veya mikroilemci programlama kart, bilgisayar ve bilgisayarda programlama iin kullanlacak gerekli program ve ekipmanlar, dijital elektronik deney seti Modl iinde yer alan her renme faaliyetinden sonra verilen lme aralar ile kendinizi deerlendireceksiniz. retmen modl sonunda lme arac (oktan semeli test, doru-yanl testi, boluk doldurma, eletirme vb.) kullanarak modl uygulamalar ile kazandnz bilgi ve becerileri lerek sizi deerlendirecektir. kullanm amacna uygun olarak
MODLN AMACI
LME VE DEERLENDRME
iii
iv
GR GR
Sevgili renci, Hepimiz biliyoruz ki amz, teknoloji ve teknolojinin nimetlerinden en iyi ekilde istifade edebilme adr. Teknolojideki gelimelere paralel olarak artk birok i veya ilemler tek bir dokunu ile daha ksa zamanda ve neredeyse sfr hata ile gerekletirilebilmektedir. Genel olarak mikroilemci denildii zaman aklmza ilk gelen ey, bilgisayar ierisinde bulunan ve bilgisayarn almasn salayan elektronik devre eleman tanmdr. Fakat genel olarak bakld zaman mikroilemciler bugn, ar sanayi dallarnda, tp alannda, elektronik alannda ve daha sayamadmz birok endstri alannda kullanlmaktadr. Bu kadar geni bir yelpazeyi kapsayan mikroilemciler konusunda elbette en nemli unsur bu alanda yetimi insan gcdr. Siz sevgili rencilerimiz bu modl sayesinde mikroilemciler ile ilgili ihtiya duyduunuz bir ok bilgiye ulaabilecek, kendinizi bu alanda yetitirebileceksiniz. Modl ierisinde anlatlan bilgiler, x86 mikroilemcilerine dayal olarak anlatlmtr.
ARATIRMA
Mikroilemcilerin, kendinizin belirleyecei bir alanda (tp, elektronik, otomasyon, sanayi vb.), hangi amala ve nasl kullanldn aratrp edinilen bilgileri snf ierisinde arkadalarnzla paylanz.
1. MKROLEMCLER
Adndan da anlalaca gibi mikroilemci, matematiksel ilemleri yapabilen bir elektronik yonga (chip) olarak tanmlanabilir. Boyutlar ok kk olmasna ramen ierisinde yz binlerce hatta milyonlarca elektronik devre eleman bulunduran mikroilemci, aslnda matematiksel ilemleri elektriin var ya da yok olmas temelinden yararlanarak hesaplamaktadr. Mikroilemciler bilgisayar programlarnn yapmak istedii btn ilemleri yerine getirdii iin ou zaman merkez ilem nitesi (CPU-Central Processing Unit) olarak da adlandrlr. Kiisel bilgisayarlar, bilgisayarla kontrol edilen sanayi tezghlar ve elektronik alannda kullanlabilen mikroilemciler, aslnda programlanabilen entegrelerdir.
Prensip olarak bilgi hatlar iki ynl iletim yapan yollardr. Yalnzca komut kaydediciye gelen bilgi hatt tek ynl olup btn komutlar buraya gelerek kod zcde yorumlandktan sonra, kontrol devresine ulamakta ve kontrol devresi buna gre belirli iletim yolarn kapayarak bilgisayarn almasn ynlendirmektedir. Ana bilgi hattndan devrelerin yararlanmas sra ile olmaktadr. Gelen bilgilerin hangi devreden ana bilgi hattna bilgi k yapabilecei, anahtar ve durumlu kap devreleri tarafndan belirlenmektedir. Bunlarn almalar kontrol devreleri tarafndan ynetilmektedir. 1.1.2.2. D Bilgi Hatlar D bilgi hatlar, mikroilemci ile bellek ve giri-k (I/O) kaplar arasndaki veri ve komut iletimini salayan iletim hatlardr. Ayrca evre birimleri ile bilgisayar arasndaki balantlar salayan iletim hatlar da d bilgi hattnn bir blmn oluturur.
1.2.1.1. Bilgi Kaydediciler (Data Register) ekil 2.1de AX, BX, CX, DX olmak zere 4 adet genel amal kaydedici grlyor. Buradaki bilgilere daha hzl ulalabilmesi iin i kaytlarda saklanr.
Kaydedicilerle 8 bitlik ilem yaplaca zaman dk deerlikli kaydediciler iin AL, BL, CL, DL, yksek deerlikli kaydediciler iin ise AH, BH, CH, DH gsterimleri kullanlmaktadr. 16 bitlik ilem yaplaca zaman ise AX, BX, CX, DX gsterimleri kullanlr. AX, BX, CX ve DX kaytlar AH, BH, CH, DH ve AL, BL, CL, DL kaytlarnn birletirilmi durumlardr. 1.2.1.2. Gsterici ve ndeks Kaydediciler Drt tane bilgi kaytnn dnda, drt tane daha genel amal kaydedici bulunur. Bunlar: Yn gsterici kaydedici (Stack Pointer Register - SP) Ana gsterici kaydedici (Base Pointer Register - BP) Kaynak indeks kaydedici (Source Index Register - SI) Yazlm indeks kaydedici (Destination Index Register - DI)
Bunlar srayla aklayacak olursak: SP: Alt programa sapma ve kesme ilemlerinde dn adreslerini tutar. BP: Veri dizilerinin adreslerini tutmakta kullanlr. SI : Kaynak operandn adresini gsterir. DI: Hedef operandn adresini gsterir.
1.2.2.1. Durum Kaydedicisi (Bayrak-Flag Register) 16 bitten oluan durum kaydedicisinin, 6 bitlik ksm durum bayra, 3 bitlik ksm da kontrol bayra olmak zere 9 bitlik ksm kullanlr. 9 bitlik durum ve kontrol bayraklar aadaki gibi aklanabilir. Bunlarn ilk alt tanesi durum bayraklar, geri kalan son tanesi ise kontrol bayraklardr. Elde bayra (CF): Herhangi bir aritmetik ilem sonunda yksek deerlikli elde veya bor olumadnda CF Lojik "0", aksi bir durumda ise Lojik "1" olur. Parite bayra (PF): Aritmetik ilemin sonucu eer ift ise PF Lojik "1", tek ise Lojik "0" olur. Yardmc elde bayra (AF): 16 bitlik aritmetik ilemin sonucu alak deerlikli byteden yksek deerli bytee bir elde veya bor verildii zaman AF Lojik "1", dier durumda ise Lojik "0" olur. Sfr bayra (ZF): Aritmetik veya mantksal ilem sonucu sfr ise ZF Lojik "1", dier durumda ise Lojik "0" olur. aret bayra (SF): Aritmetik ilem sonucu pozitif bir deer ise SF Lojik "0", aksi durumda Lojik "1" olur. Tama bayra (OF): lem srasnda limit dnda bir sonu oluursa OF Lojik "1", tersi durumunda ise Lojik "0" olur. Trap bayra (TF): TF Lojik "1" olduunda ilemci ayn anda sadece tek ilem yapabilir. Kesme bayra (IF): INT ucunda bir kesme olduu, IF Lojik "1" olduu zaman dikkate alnr. Yn bayra (DF): Hangi komutun ilenecei bu komutla belirlenir.
1.2.2.2. Segment Kaydediciler 1 MBlk hafzaya sahip olan mikroilemcinin hafza alan 64 KBlk segmentlere blnr. Her bir segmentin adresi birbirinden farkldr. Blnm olan hafzadan elde edilen bu segmentlerin drt tanesi bir anda aktiftir. Aktif olan segmentler aada verildii gibidir. Code Segment(CS): Program kodlarnn bulunduu segmentin balang adresini tutar. Genel amal saklayclardan birinin tuttuu ofset adresi ile birlikte verinin bulunduu hcrenin gerek adresini verir. Stack Segment (SS): Yn iin belirlenen bellek adresinin balang adresini tutar. Data Segment (DS): Verilerin bulunduu segmentin balang adresini tutar. Extra Segment(ES): Veri kaydedilen dier bir segmentin balang adresini saklar.
Bu segmentlerden ilk ikisi program paracklarn yeri geldiinde kullanmak zere yn yapmak iin son ikisi ise bilgi depolamak iin kullanlr.
ALU giriine uygulanan veri (bilgi) genellikle, akmlatr olarak adlandrlan genel amal bir saklaycdan alnr. kndaki veride ayn saklaycya geri gnderilir.
Basit bir ALUda toplama ve boolean lojii (mant), tmleyici, kaydrc ve durum bayraklar bulunur.
Ana bellek entegre devrelerinin, merkez ilemci ile iletiimini kontrol etmek zere, bu entegrelere komut girii konulmutur. Bu komut girii entegreyi semek iin kullanlr. Bylece yalnz seilen entegredeki veriler veri yoluna, oradan da merkez ilem birimine ular. Veri yolu bilgisayarn tipine gre belli sayda fiziksel hattan olumutur. Bu hat bellekler, kontrol devreleri ve merkez ilem birimince ortaklaa kullanlr. Bir anda hangisinin buna erieceine merkez ilemci biriminin program komutuna bakarak rettii kontrol sinyalleri karar verir. Eer ayn anda birden fazla birim veri yoluna eriirse veriler bozulaca iin bu eriimdeki zamanlama ok nemli ve kritiktir. Bu yzden veri yolu oklayclar (multiplexer) kullanlarak kontrol edilir. Bir oklaycnn blok emasn aada gsterdik. Burada amacmz yine size bir fikir verebilmektir.
Bufferler multiplexer tarafndan seilmeyen verileri geici olarak hafzada tutar. Sras gelen veriyi kna gnderir. Bufferler ayrca katlar arasnda bir ara eleman olarak grev grr ve herhangi bir kat knn dier kat kn etkilemesini engeller.
( yaps)
(D grnm)
Mikroilemciler, ama/kapama anahtar gibi alan milyonlarca transistrden olumaktadr. Bu anahtarlarn programlanma durumuna gre elektrik sinyalleri bunlarn zerinden akar. Bu sinyaller, bilgisayarn yapt tm ileri toplama, karma, arpma ve blme gibi temel matematiksel ilemlere indirir. lemci de bu ilemleri en basit sayma sistemi olan ikilik dzeni yani sadece 0 ve 1 saylarn kullanarak yapar. Mikroilemciler her trl ii ikilik sayma sistemine gre yapmaktadr. Mesela "Y" harfi ikilik sistemde "1011001" ile ifade edilebildii gibi krmz gibi bir renk de bunun gibi ikilik tabandaki ayr say grubu ile ifade edilir. Ayn ekilde bir ses veya grnt kayd da yine buna benzer ikilik say gruplar ile ifade edilir. Bir bilgisayarn en popler ve en nemli paras ilemcidir. Ksaca CPU (Central Processing Unit/Merkezi lem Birimi) olarak anlan ilemciler, adndan da anlalaca zere bir bilgisayardaki ilemleri yrten ve sonular gerekli yerlere gnderen elemandr. Mikroilemci, dardan alm olduu verileri kendine yklenmi olan programa gre yorumlayp ilgili klara veya adreslere ynlendirir, bilgisayarn deiik birimleri arasnda veri ak ve veri ileme grevlerini yerini getiren byk lekli veya ok byk lekli entegre devredir. Mikroilemci entegre devresi, yazlan programlar meydana getiren makine kodlarn yorumlamak ve yerine getirmek iin gerekli olan tm mantksal devreleri ierir. Mikroilemciler, kontrol birimi ve aritmetik/mantksal birim olmak zere iki blmden oluur. Bir komutun yerine getirilmesi srasnda mikroilemcinin yapt iler aada sralanmtr: Komutun adresini adres tatna karr. Komutu veri tatndan alr ve kodu zer. Komutun gerektirdii adresleri ve veriyi ieri alr. Bunlar bellekte veya kaydedicilerde olabilir. Komut kodunun belirttii ilemi yerine getirir. Kesme iareti gibi denetim iaretlerine bakar ve gereini yerine getirir. Bellek ve I/O blmlerinin kullanm iin durum, denetim ve zamanlama iaretlerini retir.
11
Bir mikroilemcinin ilevini yerine getirebilmesi iin aadaki yardmc elemanlara ihtiya duyar. Input (giri) nitesi Output (k) nitesi Memory (bellek) nitesi
Merkez ilem birimini devre teknolojisi ve plan Kelime uzunluu lemci komut kmesi eidi Zamanlama ve kontrol dzeni Kesme altyordamlarnn eitleri Bilgisayar belleine ve giri/k aygtlarna eriim hz Mikroilemcinin dorudan adresleyebildii bellek bykl: Mikroilemci, adres yolu araclyla ana bellei adresleyebilir. Adres yolu, ilemcinin yapsna gre deiir ve adres yolu hatt ok olan bir sistemin adresleme kapasitesi de o kadar byktr.
sebeple Motorola firmas 6800in gelimi versiyonu olan ve sanal bellek kullanmn salayan 6801 iletim sistemini retti.
gerekletirilir. Bu zel ilemciler, 2D ve 3D grafikler, grnt ve ses sktrma, faks/modem, canl resimli PC-tabanl telefon ve grnt ileme gibi grevleri yerine getirmede kullanlr. Intel firmas bir PCye DSP zellii kazandrmak iin MMX (MultiMedia eXtention) olarak adlandrlan bir teknolojiyi, Pentium ilemcilerine 1997 ylndan itibaren koymaya balar. MMX teknolojisi multi-media ilemleri iin 57 tane yeni komut sunmaktadr. Intel Pentium II ilemcisi, Pentium Pro ve MMX teknolojilerinin birleimi ile retilmitir. Bu ilemcide bulunan 32K (16K/16K) L1 n bellek youn olarak kullanlan veriye hzl eriim salar. Ayrca tm devre zerinde 512 KBdan balayan L2 n bellei bulunur. Intel daha ucuz PCler ve sunucu makineleri iin piyasaya ucuz (Celeron) ve pahal (Xeon) Pentium II tabanl iki farkl mikroilemci srmtr. Bu piyasa yaklam daha sonraki Pentium III ve dier rnlerde de devam etmitir. Pentium III mikroilemcisi 1999 ylnn banda Intel tarafndan piyasaya srlmtr. Pentium III ile gelen nemli bir yenilik, Internet Streaming SIMD Extensions olarak adlandrlan bir yapdr. Bu mimari yap ile ileri grnt ileme, 3D, ses ve video gibi uygulamalarda kullanlabilecek 70 adet yeni komut eklenmitir. Pentium III, ayrca P6 mikromimarisini (dinamik yrtme, oklu dallanma tahmini, veri ak analizi ve tahmini yrtme) ok ilemcili sistem yolu ve Intel MMX teknolojisini ierir. Pentium III, PC ve internet hizmetleri ve a eriim gvenlii iin planlanan yap bloklarndan ilki olan ilemci seri numaras sunar. Gnmzde x86 pazar byk bir endstri olmutur ve her yl milyonlarca ilemci satlmaktadr. X86 ilemcilerine gsterilen byk ilgi nedeniyle Intelden baka firmalar da bu piyasaya girmitir. AMD firmas gnmzde K6 II ve K6 III rnleriyle Pentium II ve Pentium III ilemcilerine rakip olmaktadr. Hatta AMDnin son rnlerinden olan 450 MHz K6 III ilemcisinin Pentium III 500 ilemcisinden daha yksek performans salad iddia edilmektedir.
15
Kontrol birimi, mikroilemcinin evre birimler ile e zamanl almasn; register, ALU ve dier birimler arasndaki veri aknn dzenli olarak gereklemesini salayan birimdir. Kontrol biriminin en nemli paras komut zmleyicidir. Komut saklaycda bulunan komut, komut zmleyici tarafndan yorumlanarak dier birimlere komutun gerekletirilmesi iin kontrol sinyalleri gnderir. lemci ierisindeki Temp-1 ve Temp-2 saklayclar 4. renme Faaliyetinde bahsi geen BUFFER olarak grev yapar. Yani ALU birimine gnderilen verileri geici olarak zerinde tutar.
16
1.9.3. EPROM (Erasable Programmable Read Only Memory-Silinebilir Yalnzca Okunur Bellek)
RAMlarn elektrik kesildiinde bilgileri koruyamamas ROM ve PROMlarn yalnzca bir kez programlanabilmeleri baz uygulamalar iin sorun yaratmtr. Bu sorunlarn stesinden gelmek iin teknoloji devreye girmi ve EPROMlar ortaya kmtr. EPROM programlayclar ile bir EPROM defalarca programlanabilir ve silinebilir. EPROM programlayc, EPROMun zerindeki kodlanm program mor tesi nlar gndererek siler. Yongann zerindeki pencere, parlak gne EPROMu kolayca silebileceinden, programlama ileminden sonra EPROMun zeri bir bantla kapatlr. ok ynllkleri, kalc bellek zellikleri ve kolayca yeniden programlanabilir olmalar, EPROMu kiisel bilgisayarlarda ska kullanlr bir konuma getirmitir. EPROMun sk rastlanan pratik uygulamalarndan biri de dardan gelen yazc ve bilgisayarlara Trke karakter seti eklemektir.
1.9.4. EEPROM (Electrically Erasable Read Only Memory - Elektiksel Olarak Silinebilen Programlanabilen Yalnzca Okunur Bellek)
Bu bellek trnde bilgilerin yazlmas ve silinmesi iin normal elektrik voltaj uygulanr. Dier ROM trlerinde olduu gibi ierdii veriyi elektrik kesilse de saklar. Yine btn ROM trlerinde olduu gibi RAM bellek kadar hzl deildir. Bu tr belleklerin bir kullanm snr yani mrleri vardr. Bu belleklerin zerine bilgiler yzlerce ya da binlerce 17
kere yazlabilir. EEPROM belleklerin dezavantaj ise olduka yava silinip yazlabilir olmasdr.
Ana bellekte sakl bilgiler kontrol birimi tarafndan okunur ve merkez ilemci saklayclarna (yazma, register) aktarlr. Ana bellekten okunan komutlarn anlamlarnn zlmesi de yine kontrol birimince yerine getirilir. Bir programn altrlmas srasnda programn ilk komutu zmlendikten sonra kontrol, programn denetimi altnda devam eder.
18
Senkron haberlemeden kast, alc ve verici nitelerinin birbirleri ile e zamanl haberlemesidir. Bu sebeple senkron veri haberleme nitesi ekilde grld gibi CLOCK (zamanlama) olarak adlandrlan bir pin ucuna sahiptir. Bu haberleme, yksek hzl veri haberlemesi gerektiinde kullanlr.
Senkron haberlemenin balatlmas iin veri gnderici ilk nce alcya senkronizasyon (uyum-zamanlama) sinyali (karakteri) gnderir. Alc senkronizasyon bitini okuyup bilinen bir senkronizasyon olup olmadn karlatrr. Karlatrma sonucunda karakterle rnek birbirini tutuyorsa alc veriyi haberleme hattndan alp okur. 1 Veri transferi, hattaki bilgi bitmesine veya gnderici ile alc arasndaki senkronizasyon bitene kadar srer. Gnderilen veri ok ise senkronizasyon karakteri aralklarla retilerek sistemler arasnda veri transferinin devam ettii belirtilir. Asenkron veri haberlemesi
Bu haberlemede e zamanl bir alma olmad iin CLOCK (zamanlama) sinyali kullanlmaz. Bu durum aadaki ekilde gsterilmitir.
19
Bu tr haberlemede kullanlacak olan veri bir anda bir karakter olacak ekilde hatta konur. Alc tarafnda ise balama ve sonlanma biti kontrol edilerek veri alm gerekletirilir. Veri gnderilirken 1 bitlik parite (elde) biti ile beraber gnderilir. Bu bit verinin gvenli bir biimde gnderilip alnmasn salayan bittir.
Mikrobilgisayar sistemi ile d cihaz arasnda veri transferini gereklemek iin birok yol olmasna ramen, bunlarn hepsi aadaki snf altnda toplanabilir. Programl Giri/k
Bu yntemde veri transfer isteinin alglanmas ve veri transferi tamamen programla yaplr. D cihaz istek iaretini gndermese de CPU srekli olarak bu istein gnderilip gnderilmediini test etmelidir. Test esnasnda CPU baka bir i yapmad iin istein de gelmemesi durumunda bilgisayar tamamen bo kalm olur. ou i programla yapldndan, en az donanm gerektiren ve sonu olarak en ucuz olan yntemdir. Kesmeli (Interrupt) Giri/k
Bu yntemde veri transfer isteinin alglanmas donanmla, verilerin transferi ise programla yaplr. CPU, veri isteinin alglanmas iin program komadndan istek gelmedii srece kendi ileriyle urama imkn bulur. Dier bir deyile CPU bo yere megul edilmemi olur. Ama istein donanmla alglanmas CPUda ilave bir lojii gerektirdiinden programl G/ yntemine gre daha pahaldr.
20
Bu yntemde hem veri transfer isteinin alglanmas hem de verilerin transferi tamamen zel bir donanmla yaplr. Veri transfer hz ok yksektir ama ilave donanm gerektirdii iin dier yntemlere gre pahaldr. Bu almada CPU tm yollarn bu zel donanma devrettiinden kendisi veri transferinde bizzat grev almaz.
Bu arabirim yazc, fare, klavye, modem, scanner, joystick, dijital kamera gibi ou evrebirim aygt iin ortak bir arabirim sunuyor, paralel ve seri arabirimlerin neden olduu kablo kalabalnn da nne geiyor. USB arabiriminin 1.1 versiyonun saniyede yaklak 1MB/slk hz ou evrebirim aygt iin yeterli seviyededir.
21
USBler bizlere aadaki avantajlar sunmaktadr: Tek bir PCye 127 adede kadar cihaz balayabilme Hibir srcye, IRQ ayarlarna, DMA kanallarna ve I/O adreslerine, genileme yuvalarna gerek duymadan kolay kurulum evresel cihazlar iin PCyi kapatp amadan Tak ve altr fonksiyonellii Btn cihazlar iin tek tip konektr (balant) PCyi kapatmadan cihaz ekleme ve kaldrma zellii
Aritmetik komutlar bellekte saklanan veri zerinde eitli aritmetik ve mantksal ilemler yaplmasn salar (toplama, karma, mantksal ve ilemi, saa ve sola bit kaydrma ilemleri gibi). Girdi/kt komutlar ilemcinin d birimlerle balantsn salayan girdi/kt kaplarn (port) kontrol eder. Kontrol komutlar ise mikro ilemcinin i durumunu deitiren komutlardr (programn devam edecei yeri deitirme, aritmetik ilemlerde yardmc olan ktkleri deitirme, stack pointer ilemleri gibi). Her mikro ilemcinin komut kmesinde bu trden komutlar mutlaka bulunacak ancak komutlarn hangi bit dizilerine karlk geldikleri, ilemlerin nasl yrtld farkl olacaktr.
22
En fazla kullanlan ykleme komutu MOV komutudur. Hemen hemen btn adresleme modlarnda kullanlabilmektedir. Aada MOV komutunun kullanmna ilikin rnekler verilmitir. MOV AL, A2 : A2 verisini (8 bitlik-1010 0010) AL kaytsna ykler. MOV BX, [CX]: CX kaytsnn ieriini BX kaytsna ykler. MOV AX, 4AC1: 4AC1 verisini (16 bitlik-0100 1010 1100 0001) AX kaytsna ykler.
RNEK: 8 bit uzunluundaki (F3)16 bilgisini adresi (AB)16 olan k portuna gndermek iin gerekli program yapnz. AIKLAMA: MOV AL, F3H : Bu satrda (F3H)16 bilgisi AL kaytsna ykleniyor. OUT ABH, AL : Bu satrda (F3)16 bilgisi (AB)16 k portuna gnderiliyor.
23
Bu komut H ile K operandlar arasndaki bir kartma ilemidir. Bu ilem sonucunda durum kayts deiir. Aadaki rnek bu durumu aklamaktadr. Not: CMP komutundan hemen sonra bir dallanma komutu kullanlr.
RNEK: 1.satr: MOV AX, 4235 H 2.satr: MOV BX, 1865 H 3.satr: CMP AX, BX 4.satr: JNZ MKRO . . . . . . . . 18.satr: MKRO MOV CX, AX 24
AIKLAMA: 1.satr: 4235 H bilgisi AX kaytsna yklenir. 2.satr: 1865 H bilgisi BX kaytsna yklenir. 3.satr: CMP komutu ile AX kaytsndan BX kayts kartlyor. 4.satr: kartma ileminin sonucu sfr deil ise program aknn MKRO etiketli olan 18. adres satrndan devam etmesi belirtiliyor. AX kaytsnn ieriinden BX kaytsnn ierii karld zaman, 4 2 3 5 H (AX) - 1 8 6 5 H (BX) 2 9 D0 H Grld gibi sonu hexadecimal (16lk) say sistemine gre sfrdan farkl kt iin program MKRO etiketli 18. satra atlar ve oradan itibaren ileyiine devam eder. 1.12.4.2. Dallanma Komutlar Dallanma komutu olan JMP ve dier elenikleri komutu 8088 ilemcisi tarafndan kullanlr. Dallanma komutlar iki guruba ayrlr. Koulsuz (artsz) dallanma
Koulsuz dallanma komutu, tpk BASIC programnda kullanlan GOTO komutu gibidir. lemci kousuz dallanma komutunu grd yerde belirtilen adrese (etikete) hibir koul aramadan gider. Koulsuz dallanma komutunun ileyi format aadaki tabloda gsterildii gibidir.
Bu komutta tpk BASIC programndaki IFTHENELSE komutuna benzer koullu dallanma ileminin olmas iin aranlan veya istenilen koulun olumu olmas gerekir. Koul olumu ise ilemci belirtilen adresten (etiketten) itibaren program akna devam eder, koul olumam ise program normal akna devam eder. Koullu dallanma komutunun ileyi format aadaki tabloda gsterildii gibidir.
25
Koullu dallanma iin kullanlan komutlar ise aadaki Tablo 1.7de gsterildii gibidir. imdi aada verilen rnei, rendiklerimizi ve Tablo 1.7yi kullanarak aklamaya alalm. RNEK: 1.satr: MKRO 1 MOV AX, OA05 H 2.satr: MKRO 2 COMP AH,AL 3.satr: JE MKRO3 4.satr: DEC AH 5.satr: JMP MKRO2 6.satr: MKRO 3 MOV BX,AX 7.satr: SUB BH,BL 8.satr: CMP BH,BL 9.satr: JZ MKRO1 10.satr: NOP AIKLAMA: 1.satr: OA05 H bilgisi AX kaytsna ykleniyor. 2.satr: AX kaytsnn yksek deerli byte deeri AH ile dk deerli bytea AL karlatrlyor. 3.satr: AH, ALye eit ise program MKRO3 etiketli 6. satra dallanr. 4.satr: AHnin ierii 1 eksiltiliyor. 5.satr: AH ALye eit olana kadar MKRO2 etiketli 2. satra koulsuz dallanlyor. 6.satr: AXin ierii BXe ykleniyor. 7.satr: BH BLden karlr. 8.satr: BH ile BL karlatrlr. 9.satr: kartma sonucu sfr ise (sonucun sfr olduu 7.satrda belirtildi), MKRO1e dallanma olur.
26
RNEK: BX kaytsnn ierii 3A01, CX kaytsnn ise 0003 olsun. SAR BX, CL komutu ilemeye balad anda BX kaytsnn yeni ierii ne olur.
27
AIKLAMA:
Grld gibi BX kayts ieriini 3 bit saa kaydran (CL=(0003)16) SAR komutu bu ilemden dolay boalan 13, 14 ve 15. bitlere sfr yklemektedir. 1.12.5.2. Dndrme Komutlar Dndrme komutlar da kaydrma komutlarnn yapt ie benzer bir grevi yapar. Dndrme komutlar srasyla aada verildii gibidir. ROL: Sola dndrme ROR: Saa dndrme RCL: Elde zerinden sola dndrme RCR: Elde zerinden saa dndrme
RNEK: BX kaytsnn ierii (3A01)16 olsun. ROL BX, 2 komutu iletildii anda BX kaytsnn yeni ierii ne olur? AIKLAMA:
28
CALL komutu ilenmeye balad anda ilemcinin o anki alt adres, yn kaytsna yklenir. RET komutunun ilemesiyle de yn kaytsndaki kaytl adrese ilemci tekrar ynlendirilir. 1.12.6.1. PUSH-POP Komutlar PUSH komutu ile kayt ierii yn kaytsna yklenir. Ayn bilgi POP komutu ile geri arlr. Bunu daha iyi aklamak iin BASIC programndaki FOR.NEXT dngs rnek verilebilir. Tpk FORNEXT dngsnde olduu gibi ilk PUSH yaplan adres son POP ile alnr. 1.12.6.2. LOOP Dng Komutu Bu komut CX komutu ile beraber kullanlr. LOOP komutu her ilendiinde CXin ierii bir azalr.
Mikroilemcide ncelikli kesme reset kesmesidir. Sistem kilitlendii zaman kullanlan bir kesmedir. Kullanc bu kesmeyi bilgisayarda bulunan reset dmesine basarak 29
kullanr. kinci ncelikli kesme ise maskelenemez kesmedir ki kullancnn bu kesmeye mdahale etmesi mmkn deildir. Maskelenebilir kesmeler ise programlayc tarafndan mdahale edilebilir trden kesmedir. Kesme sinyalinin kaynana gre ise kesmeleri aadaki iki guruba ayrabiliriz. Donanm kesmesi
evre birimlerden (disket src, harddisk, yazc, tarayc vb.) gelen kesme sinyalleri ile oluan kesmelerdir. Mesela yazcmza yazdrlmak zere birtakm veriler gnderdiimizi dnelim. Yazcya gnderdiimiz veriler basldktan sonra yazcnn kendisine gelen verileri yazdrdn yeni bir grev iin hazr olduunu bildiren bir sinyal yollamas gerekir ki CPU verilerin devamn da yollayabilsin. ok grevli bir iletim sisteminde ayn anda birka iin yaplabilmesi iin CPU'nun artk yazc ile ilgilenmesini brakp sistemin dier ilerini yapmas gerekli. ayet tek grevli bir iletim sisteminde alyorsanz (DOS gibi) CPU'nun zaten yapacak bir ii olmayacaktr. Ancak bu ok grevli iletim sistemlerinde bizim iin byk kazan olacaktr. te IRQ (Interrupt ReQuest) ile yazc, CPU'nun dikkatini ekerek grevinin bittiini yeni grev iin hazr olduunu syler. Bu yntem evre birimlerinin dikkat ekmek iin kulland en iyi yntemdir. Yazlm kesmesi
Programlara bal olan kesmelerdir. BIOS ve DOS kesmesi olarak iki farkl ekilde olmaktadr. BIOS kesmeleri donanmsal programlar olup DOS kesmelerine gre daha hzl alr. Yazlm kesmeleri INT komutu ile altrlr. INT komutundan hemen sonra yazlm kesme parametresinden uygun olan kesme vektr yazlr (INT XX XX: Kesme vektr). Mesela INT 20 yazld zaman program icras sona erer. Aadaki ksa rnek incelendii zaman konu daha iyi anlalacaktr. RNEK Aada verilen ksa program rnei ekrana A harfini yazdran bir rnektir. MOV DL, 41: A harfinin kodu olan 41 DL kaytsna giriliyor. MOV AH, 02: Ekrana yazdrma kodu olan 02 AH kaytsna giriliyor. INT 21: Yazlm kesmesi ile ilem gerekletiriliyor. INT 20: Program sonlandrlyor. Aada baz kesme kodlar gsterilmitir. 20H: Program sonlandr. 21H: DOS fonksiyonlarn ar. 22H: lemi bitir ve adrese aktar. 23H: Ctrl+C kontrol 24H: Hata kontrol 25H: Disk veya disketten bellee kayt 26H: Bellekten disk veya diskete kayt 30
1.12.8.1. Toplama Komutlar Toplama komutlarnn ileyi ekli aada verilen tabloda gsterildii gibidir.
ADD
Bu komut ile kaynak ve hedef operand toplanp hedef operanda kayt edilir. Mesela AX kayts (1420)16 bilgisini, BX kayts da (81A2)16 bilgisini ieriyor olsun. ADD AX, BX komutu iletildii anda (1420)16 bilgisi ile (81A2)16 bilgisi toplanarak elde edilen toplama sonucu olan (95C2)16 bilgisi hedef kayt olan AX kaytsna yklenir. lemci ierisinde yaplan toplama ilemi aada gsterildii gibi gerekleir.
31
ADC
Tpk ADD komutu gibi toplama ilemi yapar. Farkl olarak elde bayran hedef operanda ilave eder. Bir rnekle aklayacak olursak: ADD komutunda verilen rnee CF elde bayran (1)16 gstererek ADC AX, BX ilemini yapalm. Burada AX+BX+CF ilemi yaplarak kan sonu AX kaytsna yazlacak ve AXin ierii deiecektir. Bu durumda sonu, (95C3)16 olarak elde edilecek ve AX kaytsna yklenecektir. INC
Bu komut ile kaytnn ierii bir artrlmaktadr. rnein, ierii (00C4)16 olan bir kayt iin INC komutu kullanlacak olursa, kayt ierii bir artrlp yeni deer ayn kaytya yklenecektir. Bu durumda kaytnn yeni deeri (00C4) 16+(0001)16 = (00C5)16 olacaktr. 1.12.8.2. arpma Komutlar arpma ilemini yapan komut Tablo 1.12de gsterildii gibi MUL komutudur.
arpma ileminde 8 bitlik ilemlerde sonu AX kaytsna, 16 bitlik ilemlerde ise AX, DX kaytsna yklenir (AX kayts dk deerlikli 16 biti, DX kayts ise yksek deerlikli 16 biti yklenir.). Aadaki rnekle bu durumu biraz daha aklayabiliriz. AX kaytsnn ierii (34FF)16, CX kaytsnn ierii de (F0FE)16 olsun. MUL CL komutu ilendii anda sonu,
FFxFE (1111 1111 x 1111 1110) = FD02 (1111 1101 0000 0010) olarak elde edilir ve 16 bit deerindeki bu sonu AX kaytsna kaydedilir. 1.12.8.3. Blme Komutu Blme ileminde de AX ve DX kaytlar kullanlmaktadr. 8 bitlik blme ileminde AX kayts, 16 bitlik blme ileminde ise DX ve AX kayts kullanlmaktadr. Blme komutunun ileyi ekli aadaki tabloda gsterildii gibidir. 32
Mesela ierik deeri, (0248)16 olan AX kayts ierik deeri (20)16 olan CL kayts ile DIV CL (AXCL) ilemine tabi tutulduu zaman:
Bu durumda tablodan da grld gibi blm AL kaytsna kalan ise AH kaytsna kaydedilir. 1.12.8.4. kartma Komutu Mikroilemci ierisinde aadaki tabloda da grld gibi, 3 farkl kartma ilemi yaplr.
SUB
Bu komutla kaynak operanddan (K) hedef operand (H) karlr ve elde edilen sonu hedef operanda yklenir. rnein, BX kaytsnn ierii (A357)16 , CX kaytsnn ierii de (5136)16 olsun. SUB BX, CX ilemi yapld zaman,
Bu komut ilenirken kaynak operanddan hedef operand ve bor bayra kartlr (lem yaplrken bor bayra elde bayra CF ile temsil edilir.).
33
DEC
Bu komut toplama komutlar ilenirken anlatlan INC komutunun tam tersi ilem yaparak kaytnn ieriini bir eksiltir.
AND komutu
Bu komut kaynak operand ile hedef operand arasnda VE (lojik arpma) ilemi yapar. Dijital elektronik dersinizden de hatrlayacanz gibi VE ilemi sonucunun lojik "1"olmas iin girdilerin her ikisinin de lojik "1"olmas gerekir. Dier durumlarda sonu daima lojik "0" olur. Aadaki zml rnek incelendii zaman daha kolay anlalacaktr. AX kaytsnn ierii (A182)16 , BX kaytsnn ierii (3410) 16 olsun. AND AX, BX komutu iletildii zaman Hexadecimal (onaltlk say sistemi) olarak verilen AX ve BX kaytlarnn ierikleri Binary (ikilik say sistemi) olarak alp aada gsterildii gibi her bir bit, karl olan bit deeri ile VE ilemine tabi tutulur. Elde edilen sonu ise hedef operand olan AX kaytsna yklenir.
OR komutu
Bu komut kaynak operand ile hedef operand arasnda lojik toplama ilemi yapar. Toplama ilemi tpk AND ileminde olduu gibi bit bit yaplr. AND komutu iin verilen rnei OR komutu iin uygulayacak olursak (OR AX, BX) sonucu (1011 0101 1001 0010)2 elde edilir. Bu sonu AX kaytsna kaydedilir.
34
OR ileminde girilerden en az birinin lojik "1" olmas durumunda k lojik "1", dier durumda ise lojik "0" olduunu hatrlamamz gerekir. XOR komutu
Kaynak operand ile hedef operand arasnda XOR (zel toplam) ilemini yapp kan sonucu hedef operanda kaydeder. XOR ileminde giriler birbirinden farkl ise lojik 1, dier durumlarda ise lojik "0" olur. AX ve BX kaytlarmza ilikin deerleri tekrar kullanp bu defa XOR AX, BX komutu ile ileme tabi tutarsak sonucumuz (1001 0101 1001 0010)2 olarak elde edilir. Bu sonu AX kaytsna kaydedilir. NOT komutu
Bu komut yalnzca kaytnn ieriinin tersini alr. Kayt ierisindeki bilginin ikilik deerine karlk gelen bitlerden "1" olan "0", "0" olan "1" yapar. Mesela, ierii (18AB)16 = (0001 1000 1010 1011)2 olan AX kaytsn NOT ilemine (NOT AX) tabi tutarsak AX kaytsnn ierii (1110 0111 0101 0100)2 sonucu elde edilir. Bu sonu AL kaytsna yklenir.
35
Kaynak operand bir kaydediciyi deil de direkt bilgi veya adresi ieriyorsa buna ivedi operand komutunun ilenmesinde ivedi adresleme denilir. vedi operandlar sabit deerlerdir. Byte uzunluunda olabilecei gibi word uzunluunda da olabilir. Aadaki rnekte kk bir ivedi adresleme rnei verilmitir. Bu komut satrnda H harfi, 15 bilgisinin hexadecimal bir say olduunu gsterir. Bu ilem gerekletirildikten sonra AX kaytsnn dk deerlikli bayt ALde 15 olarak grlr.
Doal adresleme
Komutta bellek adresi kullanlmaz. lenen alannda bulunan bilgi, ilenenin bulunduu ktn addr. Dorudan adresleme
Aadaki rnek incelendii zaman dorudan adresleme daha kolay anlalacaktr. MOV CX, MKRO rnekten anlalaca gibi data segmente MKRO olarak etiketlenmi hafza alannn ieriini CX kaytsna aktarmaktadr. 36
Sral adresleme
Mikro ilemci birimi iinde bulunan sralama ktne dizinin ilk elemannn adresi yazlr. Veriler zerinde ilem yaparken verinin sra numarasn belirtmek yeterli olur. Bal adresleme
Bu adresleme yntemi dallanma komutlar iin kullanlr. lenen yerinde grlen say bir sonraki komutun program sayacndaki adresten ne kadar uzakta olduunu gsterir. Dallanma komutlar durum ktndeki baz bitlere gre koullu veya koulsuz olabilir. Dolayl adresleme
Bu adresleme ynteminde, indeks kaytsnn gsterdii adres data segmentte, bilgilerin depoland adresin balangcna eklenerek yeni bir adres oluturur. Bu yeni adrese fiziksel adres denir. Adnn kaydedici olduuna aldanmayn. Burada operand olarak kullanlan kaydedici keli parantez iine alnr ve bu andan itibaren bir offset adresi oluverir. MOV AL, [BX]; hafzadan ALye 1 byte tanr. Alnacak verinin offset adresi BXin deeridir. MOV AL, [BX] MOV AL, [SI] MOV AL, [DI] MOV AL, [BP] Yukardaki 4 rnekte ALye kopyalanacak verilerin offset adresleri ilgili kaydedicinin iindeki deerdir. Segment adresleri ise ilk nn DS sonuncusunun SSdir. BP indeks kaydedicisi yalnz bana hafza adreslemede kullanlrsa daima stack segmentin (SS) offset adreslerini gsterir. Fakat BP kaydedicisi de dhil olmak zere bu adresleme segment kaydedicileri de belirtilerek yaplrsa o zaman ilgili segment:offset adresine eriilmi olunur.
37
PC anakart
Mikroilemcileri tanmlayarak mikroilemciler ierisinde meydana gelen bilgi akn ve bu bilgi ak srasnda gerekleen olaylar tanmlaynz. lem Basamaklar alma ortamnz hazrlaynz. Resim 1.3te grlen anakart zerinde numaralandrlm ksmlar srasyla defterinize yaznz. retmeninizin verecei benzer bir kart iin ayn ilemi grerek yapnz. neriler nlnz giyerek alma masanz dzenleyiniz. altnz masann zerinde deneyle ilgisi olmayan ara gere ve malzemeyi kaldrnz. Tablo yapabilirsiniz. Tereddt ettiiniz ksmlar aratrnz. mknnz varsa fotorafn ekip renkli ktsn alarak defterinize yaptrnz.
38
KONTROL LSTES
Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin Evet, kazanamadnz beceriler iin Hayr kutucuuna (X) iareti koyarak kendinizi deerlendiriniz.
Deerlendirme ltleri
1. alma ortamnz faaliyete hazr duruma getirdiniz mi? 2. Kullanacanz ara gereci uygun olarak setiniz mi? 3. Kartn ksmlarn yazmaya balamadan nce tamamn incelediniz mi? 4. Kullandnz kartn tamamn incelediniz mi? 5. Resimdeki ve elinizdeki kart karlatrdnz m? 6. Her ikisinin ksmlarn yazabildiniz mi? 7. Kullandnz malzemeleri tam ve salam olarak teslim ettiniz mi? 8. alma ortamnz temizleyip dzenlediniz mi?
Evet
Hayr
DEERLENDRME
Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz Evet ise lme ve Deerlendirmeye geiniz.
39
2.
3. Aadaki kaydedicilerden hangisi 16 bitlik bir kaydedici (register)dir? A) AH B) BL C) CX D) DL 4. Aada verilenlerden hangisi stack segment (SS) kaydedici tanmdr? A) Yn iin belirlenen bellek adresinin balang adresini tutar. B) Verilerin bulunduu segmentin balang adresini tutar. C) Veri kaydedilen dier bir segmentin balang adresini saklar. D) Hangi komutun ilenecei bu komutla belirlenir. Aadaki ifadelerden hangisi ALU iin uygun bir ifade deildir? A) Aritmetik ilem birimidir. B) Aritmetik ilem yapabilir. C) Lojik (mantk) ilemi yapamaz. D) Veriyi bir bit saa veya sola kaydrma yeteneine sahiptir. ALUya gnderilen alma bilgileri aada verilenlerden hangisinden alnmaktadr? A) Harddiskten B) RAM hafzadan C) ROM hafzadan D) Akmlatrden
5.
6.
40
7.
Bilgi ALUda ilendikten sonra nereye gnderilir? A) Akmlatre B) ROM hafzaya C) RAM hafzaya D) Harddiske Multiplexerler aadakilerden hangisini yapar? A) Veriyi ileyerek klara aktarr. B) Seme ucundaki sinyale gre girilerden birini seer. C) Katlar arasndaki sinyalleri ykseltir. D) Hibiri Aadakilerden hangisi dorudur? A) lemci 16lk say sistemine gre alr. B) lemci 10luk say sistemine gre alr. C) lemci tm say sistemleri ile uyumlu alr. D) lemci 2lik say sistemine gre alr. Hangisi ilemci nitesidir? A) Kontrol birimi B) Giri-k birimi C) RAM D) BIOS Hangisi mikroilemcinin snflandrlabilmesi iin temel zellik kabul edilemez? A) Kelime uzunluu B) Tek bir komutu ileme hz C) Veriyi saklayabilme yetenei D) Dorudan adresleyebildii bellek bykl Hangisi ilemci hzn etkileyen unsurdur? A) ektii akm B) lemcinin yapm yl C) Zamanlama ve kontrol dzeni D) alma gerilimi Mikroilemci ierisinde bulunan temel birimler aadakilerden hangisi deildir? A) Gerilim sabitleyici B) Kontrol birimi C) Kaydedici D) ALU
8.
9.
10.
11.
12.
13.
41
14.
Aadakilerden hangisi buffer olarak grev yapmaktadr? I. Temp-1 II. Temp-2 III. Komut zmleyici A) Yalnz I B) Yalnz III C) I ve II D) II ve III Aadakilerden hangisi dhil bellek grubuna girmez? A) EPROM B) Harddisk C) RAM D) ROM EPROM belleklerin PROM belleklere gre stnl aadakilerden hangisi olabilir? A) Bilgileri hafzasnda kalc olarak tutar. B) Bilgiyi hafzada tutmak iin enerji gerektirmez. C) ok az enerji harcar. D) Birok kere programlanp silinebilir. Hangisi ROM hafza iin geerli bir ifadedir? A) Programlandktan sonra sadece okunabilir. B) Bilgiyi hafzada tutmak iin enerjiye ihtiya duyar. C) Birka defa yazlp silinebilir. D) BIOS bilgileri ROM hafzaya saklanr. Aadakilerden hangisi giri/k nitesi deildir? A) CPU B) COM C) USB D) LPT
15.
16.
17.
18.
19. Seri haberleme portu iin hangisi dorudur? A) Bilgiyi blok olarak aktarr. B) Veri transfer hz, paralel porta gre daha hzldr. C) Bu portu kullanmak iin bilgisayar ama veya kapatmaya gerek yoktur. D) Her seferinde 1 bitlik bilgi gnderir.
42
20. Senkron ve asenkron veri haberlemesi arasndaki en nemli fark aadakilerden hangisidir? A) Senkron daha hzldr. B) Asenkron veri transferinde bilgi kaybna sebep olur. C) Senkron e zamanl asenkron ise e zamanszdr. D) Senkron seri asenkron ise paralel haberlemedir.
21.
Aadakilerden hangisi aritmetik komutlarn yapt ilem gurubuna girmez? A) Toplama B) karma C) Blme D) Bilgi transferi
22. BX kaytsnn ierii (1A27)16 olarak kabul edilirse MOV AX, [BX] komutu ilendii zaman ne olur? A) BXin ierii sfrlanr. B) AXin ierii sfrlanr. C) AXin ierii ile BXin ierii toplanr. D) BXi ierii AXe eit olur. 23. Aada verilen komut ne i yapmaktadr. OUT ABH, AL A) AB bilgisini ALye aktarr. B) ALdeki bilgiyi (AB)16 numaral k portuna gnderir. C) kta bulunan AL bilgisini ABH adresinde saklar. D) ABH bilgisini AL k portuna gnderir. 24. Aada verilenlere gre SUB AX, CX komutu iletildii zaman CXin ierii ne olur? [AX]= (BC52)16 [CX]= (A230)16 A) (C001)16 B) (01B3) 16 C) (1A22) 16 D) (0A11) 16 25. Hafzada bulunan (1001)2 bilgisi ile (0111)2 bilgisini mantksal VE ilemine tabi tutmak iin aadaki komutlardan hangisini kullanabiliriz? A) AND B) OR C) NOT D) XOR
43
26.
OR C2H, A1H ileminin sonucu aadakilerden hangisidir? A) D1 B) F3 C) E3 D) A8 Bir operandn yerinin belirlenmesinde kullanlan yntemlere ne denir? A) Saklama B) Kaydetme C) arma D) Adresleme MOV AX, MAKRO eklinde yaplan adresleme nasl bir adresleme yntemidir? A) Sral B) Dorudan C) Dolayl D) vedi
27.
28.
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.
44
ARATIRMA
nternet adresi ve kaynak kitaplardan faydalanarak ASSEMBLY derleyici programlarn aratrarak elde ettiiniz verileri snfta arkadalarnzla tartnz.
2. PROGRAM UYGULAMALARI
2.1. Hafzaya Bilgi Yazma ve Hafzadan Bilgi Okuma Uygulamas
Bu ilemi aama aama anlatalm. Ekrana MERHABA yazsn yazan bir program yazp bunu hafzada saklayalm. Bunun iin DEBUG programna ksa bir gz atalm. Debug program, Windows veya DOS iletim sistemi ile birlikte gelen, uzants COM ve EXE olan dorudan altrlabilir dosyalar oluturmanz ve bu uzantlara sahip programlar inceleyip deitirebilmenizi salayan programdr. Ayrca bu program ile hafzaya gz atabilir, hafzadaki bilgileri deitirebilirsiniz, ayn imkn mikroilemci kaydedicileri iin de geerlidir. DEBUG komutunu verdiinizde karnza aada gsterildii gibi tire (izgi) iareti kar. Bu tire, debug programnn, vereceiniz komutlar beklediini gsterir. Vereceiniz komutlar yardm ile mikroilemcinin kaydedicilerini (register) ve bellei inceleyebilir, basit programlar yapabilirsiniz.
45
8088 ve 8086 mikroilemcilerinde zel ilevleri bulunan. 14 adet kaydedici bulunur. Bunlardan drd genel amal kaydedicidir ve yaplan ilemlerin sonularn geici olarak tutmak iin kullanlr. Dier drt kaydedici, segment deerlerini tutar; be kaydedici de offset deeri iin kullanlr. Son olarak da bir adet bayrak (flag) kaydedicisi ilemcinin durumuyla ilgili bilgileri tutar (sonu sfr, negatif, pozitif, elde var vb.). Genel amal kaydediciler AX, BX, CX ve DX olarak sralanrlar. Segment kaydedicileri CS, DS, SS ve ESdir. Offset kaydedicileri ise IP, SP, BP, SI ve DIdr. Kaydedicileri ve ieriklerini grmek isterseniz register anlamna gelen r harfini girip ENTERa basnz.
Herhangi bir kaydediciyi tek bana grp deitirmek isterseniz rnin yanna o kaydedicinin adn da yazmalsnz. rnein, rax komutunu verirseniz AX kaydedicisinin ieriini grp deitirebilirsiniz. Komut bekleme durumunda (Tireyi grdnzde) Q harfine basarsanz DEBUGdan karsnz. C komutu bellein bir ksm ile dier bir ksmn karlatrr. D komutu ile bellein bir ksmn ekranda grebilirsiniz. F komutu ile bellein bir ksmn istediiniz bir deer ile doldurabiliriz. G komutu ile bellekteki herhangi bir program altrabiliriz. A ve U komutlar ile bir program yapabilir ya da bir program makine dilinde inceleyebiliriz. E komutu bellee bir karakter dizisini girmemizi salar. Evet imdi kk bir program yazalm. Programmz ekrana Merhaba yazsn yazacak. Aslnda yapacamz bir programdan daha ok iletim sistemi yklendiinde, hafzada hazr olarak bulunan bir rutini isteimiz dorultusunda altrmak olacak. Bu rutini ah=09 olduunda int 21h kesmesi arr.
46
1- Debug komutu ile programa girelim. Tire iaretini grelim. 2- A komutunu girerek bir program yazmak istediimizi belirtelim artk kodlar girmeye hazrz. Bu komuta karlk olarak offset ksm 0100 olan bir adresten program yazmaya balayabiliriz. Segment ksm bilgisayarn o anki durumuna gre deiebilir. rnek: 14DD:0100 Bu demek oluyor ki hafzann 14DDh sayl segmenti ve bu segmentin 0100h sayl offset adresinden itibaren program yazmaya balyoruz. Segment adresini hafzann durumuna gre iletim sistemi belirler. 3- Yukarda rnek olarak verdiimiz satrn hemen yanna unu yazalm: mov ah,9 mov ile ah,9 ifadelerinin arasn TAB veya boluk tuuna basarak aabilirsiniz. mov ah,9 yazdktan sonra bu komutlarn hafzaya girmek iin ENTER tuuna basnz. 4- Karnza baka bir adres gelecektir. mov ah, 9 komut satr hafzada 2 bayt yer kaplyor ve 0100h, 0101h hafza konumlarn dolduruyor bylece bir sonraki komutumuzu 0102h ofsetinden itibaren yazacaz. Ne zaman ki offset adresi FFFFh geti o zaman segment adresi bir artacaktr.
Bu adresin hemen yanna unu yazalm: mov dx,120 Satr sonunda yine ENTERa basyoruz.
47
5- imdiki satra int 21 yazp ENTER tuuna basyoruz. 6- Buraya da int 20 yaznz. Tabii, yine ENTERa basyorsunuz. 7- imdi karmza kan adrese bir ey yazlmayacak. Yalnzca ENTERa basnz ve assembly program yazm modundan knz. Programmz hemen hemen bitti.
8- Karnza yine tire iareti geldi. Burada debuga e 120 MERHABA $ komutunu veriniz.
Artk debugn g (go) komutunu kullanarak programmz altrabiliriz, g tuuna, sonra da ENTERa basnca ekranda merhaba yazs grld. Bir alt satrdaki Program terminated normally yazs ise int 20 kesmesinin program altrp bittikten sonra herhangi bir sorun kmadn gsterir.
48
Buraya kadar yaptmz ii ksaca aklayalm. AH=09 iken int 21h kesme istei talebinde bulunulursa mikroilemci hafzadaki bir karakter dizisini $ karakterini grene kadar ekrana yazdrr. Peki hafzann hangi blgesindeki karakterleri yazdrr? Bu blgenin balang offset adresi DX kaydedicisinde sakldr. Bu yzden biz e 120 debug komutuyla hafzaya 0120h ofsetinden itibaren bir dizi karakter girdik. Hafzaya girdiimiz programn makine kodlarn ve 0120h adresinden itibaren girdiimiz merhaba yazsn grmek iin debugn d (dump) komutunu kullanabiliriz.
Yukardaki Resim 2.6da iaretli olan blge, programmz oluturan makine kodlardr.
49
Yukardaki Resim 2.7de iaretli blge ise MERHABA yazsn oluturan karakterlerin ASCII kod karlklardr. Programda nce ah=9 yaptk, Sonra dx=120 yaptk, Sonrada int 21 komutunu verip mikroilemciye emri verdik. Bu ilem bittikten sonra int 20 komutu, mikroilemciyi program altrma durumundan kartt ve iletim sistemine tekrar geri dnld. Programmz hafzada saklayalm
Program hafzada saklamamz iin ncelikle hafzada ka baytlk yer kapladn bilmemiz gerekir. Buradaki program 0100 0127 adresleri arasndadr (Unutmaynz ki adresler HEX olarak gsteriliyor.). 01000127 adreslerini kullanan program 28 byte uzunluunda olur. 9- imdi yazacamz komut rcx. Bu komutun karl olarak ekranda ilk nce CX kaydedicisinin deeri grnecek sonra da : iareti ile bizden yeni bir deer istenecektir. Biz de buraya 28 deerini gireceiz. 10- Tire iareti yine grnd. imdi n mer.com yazalm. 11- Tire iaretini grnce w komutunu girelim. 12- Debugdan kmak iin Q komutunu verelim.
Artk bu programmz ismini yazarak iletim sistemi zerinde de altrabiliriz. Bu program ekrana MERHABA yazan programlar arasnda en ksa dosya boyutu olandr (40 byte).
50
Yukarda yaptklarmz da satr satr aklayalm: lk yazdmz komut ile AH kaydedicisine 9 deerini yklyoruz. Bu komut ile de DX kaydedicisine 120 deerini yklyoruz. Bu deerler Hexadecimal (onaltlk dzende)dir. <Bu satrda 21 nu.l kesintiyi yaratyoruz. 21 nu.l kesinti AH kaydedicisine yklenen deerle birleince bir karakter dizisinin ekrana yazlaca anlalyor. Karakter dizisinin nerede yer alaca ise DX kaydedicisine yklenen deer ile belirtiliyor. int 20 komutu ile iletim sistemine programn sona erdiini bildiriyoruz. e (ENTER-GR) komutu ile trnak iareti iinde karakter dizimizi veriyoruz. Yalnz burada son karakter olarak $ karakterini vermeyi unutmaynz. rcx komutu ile CX kaydedicinin deerini gryor ve deitiriyoruz. CXe yklediimiz 28 deeri programmzn hafzada kaplad yeri belirtiyor. n (NAME-ADLANDIR) komutu ile programmza bir ad veriyoruz (Ad mer.com). w (WRITE-YAZ) komutu ile program diske yazdryoruz.
biimde seilmelidir. rnein ders almak iin yaplacak uygulamann algoritmas yle olabilir: 1. alma odana git. 2. Odann n yak. 3. alacan dersin notlarn hazrla. 4. alma masasna otur. 5. Ders almaya bala. Grld gibi ders alma ilemi iin birka farkl aamadan geiyoruz. Tabi bu ilemler kiiye gre deiir. Algoritma ve programda programcsna gre deiiklik gsterebilir. Fakat sonuta yaplacak olan i ayndr (ders alma gibi).
Konuyu daha iyi anlamak iin ekil 2.2de verilen, 10 defa veri rnekleyip saklayan programn ak diyagramn inceleyebilirsiniz.
52
53
Resim 2.9da grdnz gibi adres, ":" ile ayrlm iki adresten olumutur. Adreslerin ilki segment adresini, dieri ise segment iindeki ofset adresini gsterir. Burada grlen deer default deeridir. Eer A 103C:1002 gibi bir adres belirleseydik, belirttiimiz bu adresten itibaren ileme balardk. Artk ASSEMBLY programmz yazmaya hazrz. Balang olarak basit bir program seelim. Mesela AX saklaycs ierisine 1234 bilgisini yerletirip bunu 5 ile toplayalm. Bunun iin Resim 2.10da gsterilen ilemleri sras ile gerekletirelim. Program sonunda yazlan "G" komutu program altrr.
Program altrdktan sonra Resim 2.11de gsterilen sonu elde edilir. Burada grdnz gibi AXin ierii 5 artrlarak 1239 olarak deitirilmitir (krmz ile iaretli). Bylece kk bir program rneini assembly dili ile yazm olduk. 54
ekil 2.3te Assembly dilinde yazlm olan komut satrnn makine dilindeki kod karl grlmektedir. Grld gibi, makine dili ikilik (binary) say dzenindedir ve kullanc iin pek bir ey ifade etmez. Bu sebeple kk programlar dnda hatasz bir ekilde program yazabilmek olduka zordur. Assembly dilinde yazlan her program hafzada saklanrken veya ileme tabi tutulurken "0" ve "1" ifadelerine evrilmeye ihtiya duyar. Bu evirme i lemi mikroilemcinin retici firmas tarafndan verilen yardmc kitap kullanlarak elle yaplabildii gibi ASSEMBLER program kullanlarak daha kolay bir biimde gerekletirilebilir. Burada kartrmamamz gereken nemli bir durum vardr. ASSEMBLY dili ile ASSEMBLER birbirinden farkldr. yle ki; assembly dili ilemciyi programlayabilmek iin ksaltlm komut kodlar kullanlan bir program iken Assembler ise Assembly dili ile yazlm bir program makine koduna (diline) eviren bir programdr. Bu durum aadaki ekilde aka ifade edilmektedir:
55
Kk bir assemblerin, assembly dilinde yazlm olan program kodlamasnda aadaki yol izlenir. 1. 2. 3. Assembler program ROM veya benzeri bir yerde yerleik deil ise bilgisayarn RAM belleine yklenir. Assembler programnn altrlmas iin komut verilir. Programn almas ile kaynak kod makine koduna evrilerek RAM bellee yerletirilir.
Assembly dili ile yazlan program makine diline evirmek iin farkl assembler programlar kullanabilir. Bunlar ierisinden TASM en popler olanlarndan biridir. TASM .asm uzantl bir dosyann iindeki assembly ifadelerini ve direktiflerini okur ve bunlar makine kodlarna dntrr.
56
Bu ilemlerden sonra programmz kaydetmek iin "N" komutunu kullanacaz. ki defa ENTER tuuna basp "-" iaretini grdkten sonra N dosya ad.uzants (rnein mikro.com) verilip ENTER tuuna basnca program kaydetmi oluruz.
57
58
Resim 2.16da grlen programn 1 ve 2. satrda sras ile DX kaytsna paralel portun (LPT1) adresi olan (378)16 deeri, AX kaytsna (55) 16 deeri atanmtr. (55)16 saysnn ikilik (binary) kod karl (0101 0101) olduu iin bitiik olan port klarndan drdne +5V (lojik "1") dier drdne ise 0V (lojik "0") bilgisi gnderilmektedir. 3. satrda AX kaytsnn ierii DXin gsterdii adrese (paralel porta) gnderilmektedir. Program "G" komutu ile altrld zaman Port kna ekil 2.5te verilen balant yapld zaman k pinlerinden hangisinde lojik "1" oluursa o pine bal olan led diyot k vermeye balar. Bilmemiz gereken eylerden biri de, (378)16 adresinde verilen paralel port 8 bitlik giri ve klarda kullanlr. Bu sebeple AX saklaycsnn yalnzca AH ksmna (yksek deerli bit) aktarlan deeri ka gnderir veya giriten gelen bilgi AX kaytsnn sadece AH ksmna aktarlr.
Benzer ekilde port giriinden bilgi okumak iin aadaki program rnek olarak incelenebilir.
59
Program altrld anda, AX kaytsna (22)16 bilgisi yklenir ve bu deer DX kaytsnn gsterdii paralel porta gnderilir. 4. satrdaki komut ile AXin iindeki deer sfrlanr. Ve 22 deeri IN komutu ile AXin AH ksmna kaydedilir. Bylece porta gnderilen (22)16 bilgisi ayn porttan AH kaytsnn ierisine okunup kaydedilir. Tablo 2.1de Giri/k iin adres aralklar ve bu adres aralklarnn kullanld giri/klar grlmektedir.
60
Resim 2.18de buna ilikin program rnei gsterilmitir. imdi bu programn her bir satrn sras ile inceleyelim.
1. satr: DX kaydedicisine LPT-2 portunun adresi (278)16 ykleniyor. 2. satr: DX kaydedicisinin gsterdii adresdeki lojik "0" veya lojik "1" bilgisi AX kaydedicisine ykleniyor. 3. satr: DXden AXin ierisine yklenen bilgi (0000)16 bilgisi ile karlatrlyor. 4. satr: Karlatrma sonucunda AXdeki bilgi (0000)16 bilgisine eit ise yani butondan bilgi girii yaplmamsa (butondan gelen bilgi lojik "0" ise), 0103 numaral (2. satr) adrese dallanma yaplr. Eer AXdeki bilgi (0000) 16 bilgisine eit deil ise program bir alt satrdan (5. satr) ileyiine devam eder. 5. satr: DXe LPT-1 portunun adresi (378)16 ykleniyor. 6. satr: CXin ierii (5)16 olarak ykleniyor. 7. satr: AXe, LPT-1 portunun klarnn lojik "1" olmas iin (FFFF)16 bilgisi ykleniyor. 8. satr: DXin gsterdii 378 numaral port adresine AXin ierii gnderiliyor. 9. satr: CXin ierii (0)16 olana kadar 378 numaral port k lojik "1" olarak kalyor.Bunun iin her defasnda 010FH adresine dner ve CX ieriini 1 azaltr. CXin ierii (0)16 olunca program bir alt satra geiyor. 10. satr: Program koulsuz olarak ilk satra dallanyor ve ilemleri tekrar yapmaya balyor. 61
LPT-1 portundan elde edilecek lojik "0" veya lojik "1" bilgisini grebilmek ve buton ile kontroln salanp salanmadn test etmek iin nceki anlatmda verilen ekil 2.5teki balanty LPT-1 portuna tekrar balamanz gerekmektedir.
MOV AX,FFFF MOV BX,FFFF MOV CX,2 DEC CX JNZ 0109 DEC BX JNZ 0106 DEC AX JNZ 0103 INT 3
62
Program AX kayts ierisinde kaytl olan (4)16 saysn bir bit sola kaydran programdr. Bildiiniz gibi kayt ierisine bilgiler ikilik kod (binary) olarak kaydedilmektedir. Bu durumda (4)16 bilgisi kaydedici iinde (0100)2 olarak kaydedilmektedir. Bu bilgi aada gsterildii gibi sola kaydrlrsa AXin ierii (8)16=(1000)2 olarak deimektedir. Resim 2.20de bu durum daha iyi anlalmaktadr.
63
imdi benzer uygulamay SHR komutu iin yapalm. Bu defa AXin ieriini 8 olarak verelim. Bir nceki programn tersi olacana gre program sonunda AXin ierii (4)16 olmaldr. imdi aadaki program inceleyelim.
Resim 2.21de verilen program yazlp altrld zaman aadaki sonu elde edilir. Grld gibi AXin ierii (4)16 olarak deimitir.
Verilen programda, BIOS kesmesi ile ekrann tamamn sildikten sonra ekranda istenilen satr ve stuna renk efektleri oluturulmasn greceksiniz.
Verilen programda AX kaydedicisine (0600)16 bilgisi yklenmitir. Bu bilgi, ekrann tamamn yukar doru kaydr (sil) anlamna gelmektedir. Eer ekran aa doru kaydrmak (silmek) istersek (06)16 yerine (07)16 yazlr. 2. satra gelindii zaman BH kaydedicisine krmz zerine sar anlamna gelen (4E)16 bilgisi yklenmitir. Ekrandaki yaz Resim 2.24te grdnz gibi krmz renk zemini zerine sar olacak ekilde ayarlanmtr. Ekrann silinecek olan satr ve stun koordinatlar ile zemin ve yaz renginin balayaca ve bitecei satr ve stun deerleri sras ile CX ve DX deerlerine yklenmitir. CX kaydedicisine yklenen (0000)16 bilgisi, sfrnc satr ve stundan balamasn, DXe yklenen (150A) 16 bilgisi ise 21. satr 15. stunda sonlanmasn bildirmektedir.
65
Resim 2.26da ise bizden istenilen ilemi yerine getirecek olan debug program gsterilmitir. Renkli iaretli olan yerler dng adreslerinin yerlerini gstermektedir. Program sonunda (55)16 dan kk olan saylarn miktar [0210] adresine kaydedilir.
66
Program altrld zaman renkli kare iinde grdnz gibi ekranda () sembol yazdrlmtr.
67
Ekrana baka bir ifade veya harf yazdrmak iin 1. satrda verilen komuttaki DLnin nndeki (1)16 rakamn deitirmeniz yeterlidir. kinci satrda yaplan ilemin sebebi, veri giri k iin kullanlan INT 21 DOS kesmesidir. Kesme sonunda altrlacak olan ekrann (2)16 kodu, programn yazlmas srasnda AH saklaycsna yklenir ve INT 21 kesmesi AH saklaycsna bakarak ilgili fonksiyonu altrr.
68
ekilde de grdnz gibi, analog bilgi sinyali "0" ve "1" bilgilerinin dnda dier ara deerleri de iermektedir. Oysa dijital bilgi sinyali sadece "0" ve "1" bilgilerini iererek bilginin var veya yok olduunu kesin olarak gsterebilmektedir. Zaten ilemcileri tanmlarken bilginin var veya yok olmasna gre ilem yapan elemanlar olarak tanmlamtk. Bu sebeple ilemci dijital bilgiye ihtiya duymaktadr. Analog bir bilgi sinyali, ksaca ADC olarak adlandrlan analog dijital eviriciler ile dijital bir bilgiye dntrlebilir. ekil 2.7deki blok diyagramda ADC giriindeki ve kndaki bilgi sinyalleri gsterilmitir.
Sistem iin daha nce hazrladmz buton kontroll program kullanabiliriz. Aradaki fark, port giriine uygulanacak dijital bilginin buton yerine, sensr ve sensr bilgisini dijital bilgiye eviren ADCden alnmasdr. Port giriine daha pratik olmas iin rle kumanda eden bir devre balayabiliriz. Bylece rle kontaklarna dijital bir bilgi girerek ADCye gerek olmadan dijital bilgi girii yapabiliriz. Aada buna uygun uygulama rnekleri gsterilmitir. Tabii buton kontroll uygulamada yaptmz program kullanyoruz. 69
70
71
Bilgisayarnzda DEBUG programn altrnz. Ak diyagramndan yararlanarak Assembly kodlarn yaznz. Port k iin gerekli devreyi ilgili porta balaynz.
Programn hedeflediiniz ekilde alp almadn anlamak iin ilem banda r komutu ile register durumlarn inceleyebilirsiniz. Program kaydederken verdiiniz ismi ve kayt adresini not alrsanz daha sonra rahatlkla bulabilirsiniz.
72
KONTROL LSTES
Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin Evet, kazanamadnz beceriler iin Hayr kutucuuna (X) iareti koyarak kendinizi deerlendiriniz.
Evet Hayr
DEERLENDRME
Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz Evet ise lme ve Deerlendirmeye geiniz.
73
2.
3.
4.
5.
74
Aada bo braklan parantezlere, cmlelerde verilen bilgiler doru ise D, yanl ise Y yaznz. 6. ( ) Oluturulacak olan programn genel yapsnn ematik olarak semboller ile gsterilmesine ak diyagram veya blok diyagram ad verilir. 7. ( ) ASSEMBLY dilindeki IN ve OUT komutlar ile portlardan bilgi alnr veya bilgi girilir. ( ) Ekranmzn istediimiz satr ve stununa renk efekti eklemek iin DOS kesmesi olarak bildiimiz kesmeleri kullanrz.
8.
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru Modl Deerlendirmeye geiniz.
75
4. 5. 6.
Aada bo braklan parantezlere, cmlelerde verilen bilgiler doru ise D, yanl ise Y yaznz. 7. 8. 9. 10. 11. ( ) Bufferler verileri geici olarak hafzada tutar. ( ) lemci, komut kodlarn ka aktarr. ( ) EEPROM belleklerin en byk avantaj ok hzl yazlp silinebilir olmasdr. ( ) CPUnun temel bileenleri aritmetik mantk birimi ve kontrol birimidir. ( ) USB giriine bir evre birim takld zaman bilgisayar mutlaka kapatlp tekrar almaldr.
DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki modle gemek iin retmeninize bavurunuz.
76
78
KAYNAKA KAYNAKA
KK Serdar, Mikroilemcilere Giri, stanbul, 2003. TOPALOLU Nurettin, x86 Tabanl Mikroilemci Mimarisi ve Assembly Dili, Ankara, 2001. YARCI Kemal, Resul AVUOLU, Mikroilemciler ve Mikro Denetleyiciler, stanbul, 2005.
79