You are on page 1of 85

T.C.

MLL ETM BAKANLII

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

SRE N KOUL YETERLK

MODLN AMACI

ETM RETM ORTAMLARI VE DONANIMLARI

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.

RENME FAALYET- 1 RENME FALYET- 1


AMA
Mikroilemcileri tanmlayarak mikroilemciler ierisinde meydana gelen bilgi akn ve bu bilgi ak srasnda gerekleen sral olaylar tanmlayabileceksiniz ve mikroilemciyi tekniine uygun altrabileceksiniz.

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.

1.1. letiim Hatlar (Buses)


letiim hatlar (iletim yollar), mikroilemcilerden balayarak bilgisayar devre balantlarn salayan iletkenlerdir. Bunlardan bir ksm tek iletkenlerden oluurken bir ksm ise tarakl kablo veya bask devre eklindeki yan yana dizilmi ve yaltlm oklu iletkenlerden olumutur. Bu oklu iletkenlere, grntsnden dolay yol (bus) ad verilmitir. letiim hatlar ekil 1.1de grld gibi guruba ayrlr. Bunlar: Adres hatlar (Adress Bus) Bilgi hatlar (Data Bus) Kontrol hatlar (Control Bus)dr.

ekil 1.1: Mikroilemcinin iletiim hatlar

1.1.1. Adres Hatlar (Adress Bus)


Adres hatlar, mikroilemci ile bellek (EPROM, RAM) ve giri/k (I/O) kaplar arasndaki iletiimin, hangi bellek gz veya giri/k kaps ile yaplacann belirlenmesini salayan balant yollardr. Adres yolu iletken says, mikroilemcinin adresleyebilecei bellek gz veya giri/k kaps saysn belirler. Adresleyebilme kapasitesi zellikle bellek kapasitesini belirler. Adres yolu tek ynl al r. Ancak son gelimelerin rn olan mikroilemcilerde iki ynl de yaralanlmaya balanmtr. Adres yolu iletecei adres numarasn program saycsndan almaktadr.

1.1.2. Bilgi Hatlar (Data Bus)


Bilgi hatlar (veri yollar), gerek bilgisayarn giri birimlerinden gelen n bilgi ve komutlarn, gerekse ilemci ierisinde ilem grmekte olan ve ilem grm olan bilgilerin ve komutlarn iletildii iletim yoludur. Bu nedenle veri yollarndan iki ynl alma iin yaralanlr. letken says 4, 8, 16, 64 adet olabilmektedir. Mikroilemcilerde, yukarda da belirtildii gibi genelde 7li ASCII kodu kullanlmaktadr ve bunun iin 8 iletkenli iletim yolu uygun bulunmaktadr. Eer ayn anda ok karakter bitlerinin iletimi salanabilirse o oranda da bilgisayar alma hz artm olacaktr. Bu sebeple 8in katlar eklindeki 16, 32, 64 bitlik veri yollar ve alma sistemleri gelitirilmitir. Her mikroilemciyi dtaki devrelere balayan veri yollar, mikroilemci ierisinde de devam etmektedir. Ayrca mikroilemci ierisinde youn biimde bulunan veri yollar ve DI veri yollar olmak zere ikiye ayrlr. 1.1.2.1. Bilgi Hatlar Mikroilemci ierisinde bir ana bilgi hatt boydan boya uzanmakta ve devre birimlerine ait bilgi hatlar da bu ana hatta balanmaktadr. Bu bilgi hatlarnn ounluu, balantlarnda giri ve k olarak ilem yapmaktadr. Ancak Aritmetik lem nitesi (ALU)nde olduu gibi baz devrelerde de bir ynden gidip br ynden kmaktadr. 4

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.1.3. Kontrol Hatlar (Control Bus)


Kontrol hatlar, mikroilemcinin kontrol devresinden karak gerek mikroilemci ierisindeki devrelere, gerekse de bilgisayar ierisindeki devrelere bir a gibi dalr. Bilgisayar evre birimlerinin ileme balamas ve bitiminin salanmas iin kullanlr. Btn bu sistemin almas, kontrol hatlarndan iletilen saat (clock) darbeleri ile ynetildii iin bunlarda i ve d olarak bir ayrma gerek kalmamaktadr. Bir toplama, karma veya kayma ileminin doru yaplabilmesi iin giri sinyalleri srasnn doru olmas gerekir. Bu doruluu kontrol devresi salamaktadr. Ayn ekilde bellek ilem grecek deerlerin alnmas ve sonu bilgilerinin bellee depolanmas da kontrol sistemi aracl ile gereklemektedir. Mikroilemci i devresindeki kontrol ilemi dorudan gereklemektedir. Yani kontrol yolu ile adres yolunun e zamanl almas gibi bir durum yoktur.

1.2. Kaydediciler (Registers)


Mikroilemcinin iinde ilem yaparken geici olarak ilenecek veya ilenmi bilgilerin kayt edildikleri saklayclardr. Mikroilemci ierisinde deiik ilemleri gerekletirmek iin farkl kaydediciler bulunur. lem veya ilemler yaplrken bu kaydedicilere veri atlabilir, toplama, karlatrma ve kaydrma gibi baz ilemler gerekletirilebilir.

1.2.1. Genel Amal Kaydediciler


Genel amal kaytlarn grevi, ilemcinin zerinde alt verileri geici olarak saklamaktr. Mikroilemcide 8 adet genel amal kaydedici bulunmaktadr. Bunlarn 4 bilgi kaydedici, 2si gsterici ve 2si de indeks kayts olarak kullanlmaktadr.

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.

ekil 1.2: Genel amal kaydediciler

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. zel Amal Kaydediciler


Durum kaydediciler ve segment kaydediciler zel amal kaydediciler grubuna rnek verilebilir.

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.

ekil 1.3: Segment kaydedicilerle yaplan adresleme rnei

1.3. Aritmetik Mantk Birimi (ALU)


1.3.1. Aritmetik Mantk Birimi (ALU)
Mikroilemcinin aritmetik ve lojik ilemlerinin gerekletirildii ksmdr. Mikroilemci tarafndan ilenerek deitirilen tm bilgiler (veriler) mutlaka ALUdan geer. ALU, aadaki ilemleri gerekleyecek manta sahip olmaldr: kili toplama Boolean ilemleri Veri (bilgi) tmleme Veriyi bir bit saa veya sola kaydrma

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.

ekil 1.4: Aritmetik ilem nitesi (ALU)nin i yaps

1.3.2. Aritmetik Mantk Biriminin levi


ALU yukarda da belirtildii gibi mikroilemcinin ilem yapan birimidir. ALUnun yapabildii ilemler u iki ana grupta toplanr: Aritmetiksel ilemler Mantksal (lojik) ilemler

1.3.3. Aritmetik lemler Kavram


Mikroilemci birok aritmetik ilemi yapabilecek kapasitede oluturulmu tmleik bir yapdr. Bu ilemler iaretli veya iaretsiz binary, byte veya kelimelerle yaplabilecei gibi, ASCII veya BCD saylarn birbiri ile arplp blnmesi eklinde de yaplabilir.

1.3.4. Mantksal lemler Kavram


ALU birimi, ikilik dzende (binary say sisteminde) mantksal ilemler (OR, AND, NOT, XOR) yapabilme yeteneine sahiptir. Aritmetik ve mantksal ilemleri mikroilemci komutlarn incelerken daha detayl bir ekilde greceksiniz.

1.4. Buffer ve Multiplexerler


Src bir devre ile srlen devreler arasndaki sinyal al-veriini dzenleyen ara devreye BUFFER (TAMPON) devre denilir. Multiplexerler ise giriine uygulanan sinyallerden birisini, denetim girilerine gre ka aktaran saysal birim olarak tanmlanabilir.

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.

ekil 1.5: Bir oklayc (multiplexer) entegresinin ematik gsterimi

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.

1.5. Tek ve oklu Adres Komutlar eren Kelimelerin Oluturulmas


Mikroilemcilerde baz komutlar ileme yapaca veriyi dorudan bir adresten alp bir adrese sonucu kaydederken baz komutlar ise birden fazla adres ile ilem yapabilir. Bununla ilgili komutlar Mikroilemci Komutlar konusu ierisinde reneceksiniz.

1.6. Mikroilemcinin Tanm


Mikroilemci, yapt ilemlerin mikrosaniyeler mertebesinde olmas ve ierisindeki elektronik devrelerin ve blmlerin mikron boyutlarda olmasndan dolay bu ad almtr. Resim 6.1de bir mikroilemcinin ierisi ve d klf gsterilmektedir. 10

( yaps)

(D grnm)

Resim 1.1: AMD ilemcisine ait i yap ve d klf 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

ekil 1.6: Mikroilemcinin basit bir blok diyagram ile gsterimi

Bir mikroilemcinin ilevini yerine getirebilmesi iin aadaki yardmc elemanlara ihtiya duyar. Input (giri) nitesi Output (k) nitesi Memory (bellek) nitesi

ekil 1.7: Mikro ilemcinin temel bileenlerinin blok diyagram

1.7. Mikroilemci eitleri


Mikroilemcilerin snflandrlabilmesi iin lt kabul edilen en temel zellikleri unlardr: Kelime (bit) uzunluu: Mikroilemcilerin bir defada ileyebilecei kelime uzunluu, paralel olarak ilenen veri bitlerinin saysdr. lemciler, her bir saat evriminde, o anda srada olan komutlar ve bunlara gre de bellekteki verileri mikroilemcinin tipine gre gruplar hlinde iler. Komutlarn veya verilerin kk gruplar hlinde ilenmesi hzda azalmaya neden olur. Mikroilemciler iin 481632 ve 64 bitlik veri uzunluklar, standart hline gelmitir. lemcilerde yaplan aritmetiksel ilemlerin doruluk oran, bit uzunluu bykl ile doru orantl olarak artmaktadr (8-bit iin %0.4 iken 16-bit iin %0.001dir). Kelime uzunluunun byk olmas ayn anda daha ok iin yaplmasn salar ve bu, uygulama programlar iin byk kolaylktr. Mikroilemcinin tek bir komutu ileme hz: Saat frekans her zaman gerek alma frekansn yanstmasa da bir mikroilemcinin hzyla dorudan ilgilidir. Bir mikroilemcinin hzn artran temel unsurlar yle sralanabilir: 12

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.

1.7.1. 8 Bit Mikroilemciler


8 bitlik ilk genel amal ilemci, NMOS teknolojisi kullanlarak gelitirilen 8080 ilemcisiydi. 1974 ylnda, Motorola firmas 8080 ilemcisinin bir benzeri saylabilecek 8bitlik 6800 mikroilemcisini retti. Bundan sonraki ylda retilen 6500 serisi ilemciler ile 6800 ilemcide kullanlan btn yardmc elemanlar birbirini desteklemekteydi. Daha sonra Zilog firmas 8080 ilemcisinden birka stn zellikle ayrlabilen Z-80 ilemcisini tantt. Bu drt eit mikroilemci kendi aralarnda iki gruba ayrld. 8 bitlik 8080/Z-80 grubu mikroilemciler hesaplayclar olarak gelitirilmesi kaydedicilerin bol kullanmn gerektirmitir. Bundan dolay da kaydediciye dayal mimari olarak anlmaktadr. 6500/6800 grubu ise bellee dayal mimari olarak anlr. nk bu mikroilemcilerde daha anlalr komutlar ve daha fazla adresleme modu kullanlmtr.

1.7.2. 16 Bit Mikroilemciler


Intel, 1974 ylnda rettii 8080nin bir ileri versiyonunu, ilk 16-bitlik 8086 ilemcisini, 1978 ylnda retti. 8088 ve 8086 ilemcilerin her ikisi de ayn komutlar, ayn veriyi ve ayn yazlmlar kullanmalarna ramen, dlarndaki birimlerle iletiimde, aralarnda farklar bulunmaktadr. 8088 bir kere de 8 bitlik veri paketini iletirken, 8086 d birimlerle iletiimde bir kere de 16 bit veriyi kullanmaktadr. Ksaca, aralarndaki en nemli farkn, d veri yollarnn genilii olduu sylenebilir. IBM PC ve benzerlerinin 8088 zerinde kurulmalarnn en nemli nedeni, 8 bitlik veri yolu kullanlmas nedeniyle sistemin ucuza mal olmasdr. O yllarda retilen bilgisayarlar; PC (personel computer- kiisel bilgisayar) standard ve 16-bitlik ilemcilerin kullanld bilgisayarlar, XT (extended technology- gelimi teknoloji) standard olmak zere iki standart kazandlar. 1979 ylnda Motorolann rettii 6800 kodlu ilemci, 16-bitlik veri yoluna ve 16 Megabaytlk bir bellek adreslemesine sahipti ve bu ilemcideki kaydediciler 32-bitlikti. 1982 ylnda Intel firmas tarafndan, kullanld bilgisayarlara AT (advandec technology-ileri teknoloji) ad verilen 80286 mikroilemcisi retildi. Yeni bir standart olan bu ilemci, temel 8086/8088 komut setine sahipti. Bu ilemcide, kaydedicilerle birlikte hem veri yolu hem de adres yolu 16-bit olarak tasarland ve ierisindeki 16-bitlik kaydedici klar artrlarak 20-bite karld. Bylece 1 megabaytlk adresleme kapasitesi elde edildi. Bu sralarda ortaya kan UNIX iletim sistemi, bu kuak mikroilemcilerin adresleyebilecei bellek kapasitesinden daha fazla bellek gerektirdi. Bu 13

sebeple Motorola firmas 6800in gelimi versiyonu olan ve sanal bellek kullanmn salayan 6801 iletim sistemini retti.

1.7.3. 32 Bit Mikroilemciler


1984 ylnda Motorola tarafndan retilen 6802 ilemcisi ve 1985 ylnda Intel tarafndan retilen 80386 ilemcisi gerek birer 32-bitlik ilemcidir. 80386, 80286dan 8086ya kadar geriye doru uyumludur. Yani 8086da yazlan programlar 80386l bilgisayarlarda alrken 80386da yazlan gerek mod (real mode) dndaki programlar bundan nce retilen ilemcili bilgisayarlarda almaz. Gerek mod ve korumal mod (protected mode) olmak zere iki ayr modda alabilmek AT tipi bilgisayarlarn nemli bir zelliidir. Gerek modda sistem 1 MBlk bellek kullanarak kendi bana alr (Ancak yazlmlarla 1MBtn zerine klabilir). Korumal modda ise bilgisayar 1 MB snrn aarak byk bellek kapasitelerini kullanabildii gibi baka bilgisayarlarla da ortak alabilir. 32 bitlik ilemciler 246 adres yolu ile Terabayt cinsinden bellek kapasitesi kullanabilir. 1988 ylnda 80386nn bir deiik modeli tasarland ve bu ilemciye 80386SX ad verildi. Bu da normal 80386ya 80386DX denilmesine sebep oldu. 80386SXde 80286 ile soket uyumluluu salamak iin veri yolu 16-bite indirilirken yine 32-bitlik kaydediciler kullanld. Motorola 1987de 32-bitlik 6803 ve 1989 ylnda yine 32-bitlik 6804 modeli ilemcilerini retti. Bu ilemcilerin dier rettiklerinden en byk fark Bellek Ynetim Birimi bulundurmalardr. Bu srada Intel firmas, rettii 80486 mikroilemcisinde, farkl olarak kayar noktal hesaplama birimi (FPU), bellek ynetim birimi (MMU), nbellek gibi birimler gelitirdi. Daha nceleri ilemci dnda bulunan, kayar noktal hesaplama birimi ve bellek ynetim biriminin ilemci ierisine alnmasyla sistemin verimlilii artrld.

1.7.4. 64 Bit Mikroilemciler


Pentium ilemcilerinin 1993 ylnda piyasaya kmasyla Intel x86 ailesinin veri yolu uzunluu 64-bit olmutur. Balangcndan beri CISC mimarisinde ilemciler reten Intel firmas, nihayet superscaler mimarideki ok ilem birimi, dallanma tahmini gibi RISC kavramlarn Pentium ilemcileri ile kullanmaya balad. Bu ilemcide ayrca yrtme performansn nemli olarak etkileyen tm devre zerinde birinci seviye (L1) ayr 8-KB kod ve 8-KB veri n hafzalar bulunur. Pentium Pro, x86 ailesinin altnc nesli olduundan balangta P6 kod ad ile anlm ve nemli mimari ekler sunmutur. P6 mimarisi dinamik yrtme teknolojisi olarak belirtilen ve oklu dallanma tahmini, veri ak analizi, tahmin yrtme olarak temel fonksiyonlu mimari yapy iermektedir. Pentium Proya 4 yeni adres hatt daha eklenerek adres yolu 36bit yaplmtr. Intel firmas ilk kez 256K, 512K veya 1 MB olabilen L2 n belleini Pentium Pro ilemcisi zerine yerletirmitir. Sesli (audio), grntl (video) ve grafik zellik ieren yksek kaliteli multi-medya uygulamalarn altrmak, ok hzl ve karmak aritmetik ilemler gerektirir. Bu eit karmak ilemler, olduka zel DSP (Digital Signal Processing) tm devreleri ile 14

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.

1.8. Mikroilemci Sistemin Blok Diyagram


Aritmetik lojik birimi (ALU), saklayclarn tipleri ve says, veri yollar, kontrol birimi vb. yaplar mikroilemcilerin temel mimarisini ya da baka bir ifade ile blok diyagramn oluturur. ekil 8.1de 8 bitlik bir mikroilemcinin blok diyagram gsterilmitir. Blok diyagramda da grld gibi mikroilemci ierisinde, temel olarak ALU, saklayclar (register) ve kontrol birimi bulunur. Saklayclara ve ALUya daha nce deinmitik. Burada irdeleyeceimiz birim, kontrol birimidir.

15

ekil 1.8: 8 bitlik mikroilemci blok diyagram

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.

1.9. Memory (Hafza)


Mikroilemci tabanl sistemlerde dhili ve haric olmak zere iki farkl bellek kullanlmaktadr. Dhil bellekler RAM, ROM, EPROM gibi entegrelerden oluan belleklerdir. Haric bellekler ise disketler ve harddiskler gibi daha fazla veri saklayabilme kapasitesine sahip belleklerdir. Mikroilemcinin ihtiya duyduu bellek yaplar dhil bellekler olduu iin dhil bellekleri inceleyelim:

16

1.9.1. RAM (Random Access Memory-Rasgele Eriimli Bellek)


alma ekli asndan oku/yaz bellei olarak da adlandrlr. Yani bu tr bellekler hem ieriine bilgi yazmak hem de ieriindeki bilgiyi okumak iin tasarlanmtr. Rastgele eriimli denmesinin sebebi bellein herhangi bir yerinde bulunan verilere bir sra takip edilmeksizin yani rastgele ve ayn srede eriilmesidir. RAMde saklanan bilgiler deitirilebilir. RAMdeki bilgilere eriim, disk ya da disket srclerindeki eriimle kartrlmayacak kadar hzldr. Bu belleklerde dier bellekler gibi besleme gerilimine ihtiya duyar. Besleme gerilimi uyguland srece RAM bellekteki veriler tutulur. Enerji kesildii anda bellek ierisinde bulunan veriler silinir.

1.9.2. ROM (Read Only Memory-Sadece Okunur Bellek)


Programlarn kalc olarak durduu, sadece okunabilen bellek tipidir. ROM bellekten veri sadece okunabilir. lk yazlandan baka bir daha ROM bellee bilgi yazlamaz. ROM, yapmc veya kullanc tarafndan bir daha deitirilmemek zere konulan program komutlarn ierir. rnein BIOS, ROM bellee konulur. ROM bellek uucu (non-volatile) deildir. Yani bilgisayar sisteminin enerjisi kesildii zaman ROMda depolanan bilgi kaybedilmez (silinmez).

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.

1.9.5. Flash Eprom


EEPROMun zel bir uygulamas FLASH EPROMdur. Aralarndaki en nemli fark ise EEPROMa bilgilerin byte byte yazlmas FLASHlara ise bilgilerin sabit bloklar hlinde yazlmasdr. Bu sabit bloklar hlinde yazlma zellii FLASH MEMORYi EEPROMa gre daha hzl yapmtr. EEPROMlarda olduu gibi FLASH MEMORYnin de bir yaam sresi vardr. Bu 100.000 kezden 300.000 kez yazmaya kadar deiebilir.

1.10. CPU (Merkez lem Birimi)


Central Processing Unit ifadesinin ksaltlm olarak ifadesidir. Merkez lem Birimi bir bilgisayar sisteminin beynidir. Merkez ilem biriminin iki temel bileeni vardr: Aritmetik-Mantk Birimi Kontrol Birimi

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.

1.11. Input/Output(I/O)-Giri/k nitesi


Giri portu d aygtlardan gelen sinyalleri mikroilemciye aktaran birimdir. k portu ise mikroilemcinin k sinyallerini d aygtlara aktaran birimdir. Giri ve k portlarnn ilevleri genellikle bir birimde toplanr ki bu birime I/O (Input/Output) birimi denir. I/O birimi bir mikroilemci entegre devresi byklnde bir entegre devredir. I/O birimi veri kaynandan veri girmede ve altrlan programn belirledii veriyi darya aktarmada mikroilemci tarafndan kontrol edilir. Genel olarak I/O birimleri mikroilemciler ile giri ve k aygtlar arasndaki badatrmay, arayz (interface) salar. Giri k niteleri (I/O) aadaki gibi snflandrlabilir. Seri Giri k (COM) Paralel Giri k (LPT) USB (UNIVERSAL SERIAL BUSES- Evrensel Seri Yolu)

18

1.11.1. Seri Giri/k (COM)


Seri haberleme portu olarak da adlandrlr. Seri portlar her seferinde bir bitlik bir bilgi gnderir. Bu portlara tarayc, modem gibi cihazlar balanabilir. ki trl seri giri/k yaplr. Bunlar aada verildii gibidir. Senkron veri haberlemesi

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.

ekil 1.9: Senkron veri haberleme sistemi

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.

ekil 1.10: Asenkron veri haberleme sistemi

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.

1.11.2. Paralel Giri k (LPT)


Paralel port olarak da adlandrlan bu portta, her bir veri biti iin ayr bir iletken kullanld iin veri transfer hz olduka yksektir.

ekil 1.11: Paralel port giri/k ara yzeyi

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

Dorudan bellek eriimli (direct memory access) Giri/k

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.

1.11.3. USB ( Universal Serial Buses- Evrensel Seri Yol )


USB (universal serial bus - evrensel seri yol) ban Intel firmasnn ektii bir grup donanm reticisinin, bilgisayarlara haric aygt balamay ve altrmay kolaylatrmak amac ile gelitirdii, bilgisayar ile evresel aygtlarn haberlemesini salayan iletiim standarddr. USB sayesinde bilgisayarlara haric aygt takmak ve tantmak kolaylat. Haric aygtlar takmak ve karmak iin bilgisayar kapatp-amak zorunda deilsiniz. Aadaki resimde USB balant kablolar gsterilmitir.

Resim 1.2: USB balant kablolar

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

Resim 1.3: Bilgisayarlara USB ile yaplabilen balantlar

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

1.12. Mikroilemci Komutlar


Mikroilemciler bellekte saklanan belli bit dizilerine gre ilemler yapmak iin tasarlanmlardr. Bu bit dizilerine komut (instruction) denir. Her mikro ilemci imal edilirken bellekten hangi bit dizisini okuduunda hangi ilemi yapaca belirlenir. Mikro ilemci reticilerinin ve mimarilerinin farkl olmas her ilemci ailesinin (Intel x86, DEC Alpha, PowerPC gibi) yeni komutlara sahip olmas sonucunu dourmaktadr yani tm mikro ilemcilerin okuyup ilem yapabilecekleri evrensel bir komut kmesi yoktur. te yandan, genel olarak bakldnda bir mikro ilemcinin almasn salayan komutlar kabaca snfa ayrabiliriz. Aritmetik komutlar Girdi/kt komutlar Kontrol komutlar

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

1.12.1. Ykleme (Transfer) Komutlar


Aadaki Tablo 1.1de ykleme komutu ve grevi gsterilmitir.

Tablo 1.1: Ykleme komutlar

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.

1.12.2. Giri/k Komutlar


Tablo 1.2de gsterilen IN ve OUT komutlar, portlara veri gnderme veya portlardan veri almak iin kullanlan komutlardr.

Tablo 1.2: Giri k komutlar

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.

1.12.3. Bit leme Komutlar


Aadaki Tablo 1.3te gsterilen komutlar, herhangi bir bitin o andaki lojik deerini okumak veya deitirmek iin kullanlr.

23

Tablo 1.3: Bit ileme komutlar

1.12.4. Test ve Dallanma Komutlar


1.12.4.1. Test lemleri Test ilemleri iin COMPARE ifadesinin ksaltlm olan CMP komutu kullanlr. Bu komut 8 ve 16 bitlik test ilemlerini yapabilmektedir. CMP komutunun ileyi format aadaki tabloda gsterildii gibidir.

Tablo 1.4: CMP komutunun ileyii

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.

Tablo 1.5: Koulsuz dallanma komutunun ileyii

Koullu (artl) dallanma

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.

Tablo 1.6: Koullu dallanma komutunun ileyii

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

Tablo 1.7: Koullu dallanma komutlar

1.12.5. Kaydrma ve Dndrme Komutlar


1.12.5.1. Kaydrma Komutlar 8088 mikro ilemcisi, ikisi aritmetik ve ikisi de mantksal olmak zere aada verilen 4 farkl kaydrma ilemini gerekletirir. Ayn zamanda aada verilen tabloda, aritmetik ve mantksal kaydrma komutlarnn ileme ekli gsterilmitir. SHL: Sola mantksal bir kaydr. SHR: Saa mantksal bir kaydr. SAR: Sola aritmetik bir kaydr. SAL: Saa aritmetik bir kaydr.

Tablo 1.8: Aritmetik ve mantksal kaydrma komutlarnn ileyii

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

Aada verilen tabloda ise dndrme komutlarnn ileme ekli gsterilmitir.

Tablo 1.9: Dndrme komutlarnn ileyii

RNEK: BX kaytsnn ierii (3A01)16 olsun. ROL BX, 2 komutu iletildii anda BX kaytsnn yeni ierii ne olur? AIKLAMA:

28

1.12.6. Alt Programlara likin Komutlar


Ana programdan ayr yazlp gerek duyulduu zaman arlp programa dhil edilen ve iletilen programlara alt program ad verilir. Mikroilemcide bu ilem iin aadaki iki komut kullanlr: CALL: Bu komut ilemciyi dallanma yaplacak adrese (alt programa) ynlendirir. RET: lemciyi tekrar eski adresine (ana programa) gtrr.

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.

1.12.7. Interrupt Kesme Komutlar


Mikroilemcinin normal almasna devam ederken yapt ileme geici olarak ara vererek baka bir ileme (greve) gemesine kesme (INTERRUPT) ad verilir. Mikroilemcideki kesme giri ucuna gelen kesme sinyali ile kesme ilemi balar. Kesme ilemi balad anda ilemci o anda yrtt komutun almasn tamamlar (lemci hibir komutu yarm brakmaz.). Mikroilemcinin almas srasnda farkl kaynaklardan kesme sinyali gelebilir. Kesme sinyaline gre programn dallanaca ilk adresi gsteren iaretilere Kesme Vektr denir. Mikroilemcilerde 3 farkl kesme sz konusudur. Bunlar aadaki gibidir. Reset (arza) kesmesi Maskelenemez kesme Maskelenebilir kesme

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. Aritmetik lem Komutlar


lemcinin yapaca aritmetik ilemler toplama, kartma, arpma ve blme olarak 4 ana guruba ayrlabilir. Aadaki tabloda 4 ilemi yapan komutlar gsterilmitir.

Tablo 1.10: Aritmetik ilem komutlar

1.12.8.1. Toplama Komutlar Toplama komutlarnn ileyi ekli aada verilen tabloda gsterildii gibidir.

Tablo 1.11: Toplama komutlarnn ileyii

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.

Tablo 1.12: arpma komutlarnn ileyii

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

Tablo 1.13: Blme komutunun ileyii

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.

Tablo 1.14: kartma komutlarnn ileyii

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,

elde edilen 5221 sonucu BX kaytsna yklenir. SBB

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.

1.12.9. Mantksal lem Komutlar


Mantksal ilem komutlar, AND (ve), OR (veya), XOR (zel veya) ve NOT (deil) komutlarn ihtiva eder. Aada verilen tabloda bu komutlarn ileyileri gsterilmektedir.

Tablo 1.15: kartma komutlarnn ileyii

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.

1.12.10. CPU Kontrol Komutlar


Bu komutlar mikroilemcinin kendi ileri iin ayrlan ve dier komutlardan farkl olan komutlardr. Aadaki tabloda bu komutlar gsterilmitir.

Tablo 1.16: CPU kontrol komutlar

1.12.11. Dier Komutlar


Aadaki tabloda mikroilemci ierisinde kullanlan dier komutlar ve grevleri gsterilmektedir.

35

Tablo 1.17: Dier mikroilemci komutlar

1.13. Adresleme Yntemleri


Hafzann herhangi bir adresinde, kaydedicide veya giri/k portunda saklanan bilgilerin temsil ettii alana OPERAND denilir. Bir operandn yerinin belirlenmesinde kullanlan farkl yntemlere adresleme modu denir. Operandlara bilgi girii iin birok adresleme yntemi gelitirilmitir. Bu yntemler aada sralanmtr. vedi adresleme

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

UYGULAMA FAALYET UYGULAMA FAALYET

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

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.
1. Aadaki ifadelerden hangisi mikroilemci iin doru deildir? A) ok sayda transistrlerden meydana gelen yongadr. B) Enerji verilmeden ilem yapabilen ok kk boyutlu entegrelerdir. C) Merkez ilem birimi olarak da bilinir. D) Bilgisayarlar dnda pek ok uygulama alanna sahiptir. evre birimleri ile bilgisayar arasndaki balantlarn bir ksmn aadakilerden hangisi salamaktadr? A) Adres hatt B) bilgi hatt C) D bilgi hatt D) bilgi hatt

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

RENME FAALYET- 2 RENME FAALYET- 2


AMA
Mikroilemci komutlarn ve ASSEMBLY programn kullanarak ilemciyi yaptrlacak ie uygun olarak programlamay renebileceksiniz ve mikroilemciyi hatasz programlayarak sistemi kontrol edebileceksiniz.

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.

Resim 2.1: DOS ortamnda DEBUG komutunun altrlmas

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.

Resim 2.2: Kaydedicilerin ierikleri

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.

Resim 2.3: DEBUG programnda komutun yazl

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.

Resim 2.4: rnek programn 7. adm ekran grnts

8- Karnza yine tire iareti geldi. Burada debuga e 120 MERHABA $ komutunu veriniz.

Resim 2.5: rnek programn 8. adm ekran grnts

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.

Resim 2.6: rnek programn makine kodlar

Yukardaki Resim 2.6da iaretli olan blge, programmz oluturan makine kodlardr.

Resim 2.7: rnek programda MERHABA kelimesinin ASCII kodlar

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.

Resim 2.8: rnek programn kaydedilmesi

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.

2.2. Program Yazma Aamalarnn Uygulanmas


Her program yazlmaya balanmadan nce, kt zerinde mutlaka algoritmas ve ak diyagram izilir. Bu ilemler programcya programn yazlm aamasnda olduka byk kolaylklar salayacaktr. Kk programlarn yazmnda belki ak diyagram ve algoritmaya pek ihtiya duyulmayabilir fakat ilemciye yaptrlmak istenilen i iin yklenecek program ok uzun ise (Genellikle uzun programlardr.) programc mutlaka ak diyagramn ve algoritmasn hazrlayabilmelidir. Bu, programlayc iin programn ilerleyen aamalarnda oluacak aksamalar nlemede ok byk fayda salar. Bu ilemlerden sonra programn assembly dili ile yazlm aamas gelir. Eer programlayc programlama konusunda uzman ise algoritma ve ak diyagramn yapmayabilir, dorudan program assembly program dili ile yazmaya balayabilir. Bu aamadan sonra yazlan programn makine diline evrilmesi kalmtr. Program makine diline evrilerek ilemcinin anlayaca ekle getirilir ve programlama iimiz biter.

2.2.1. Problem Analizinin Yaplmas


Mikroilemci programlanaca zaman, ncelikle ilemciye yaptrlacak i (kullanm amac), kullanm yeri gibi unsurlar gzden geirilmelidir. Ayn zamanda programlanacak olan ilemcinin ne tr bir ilemci olduu da belirlenip ona gre komut satrlar oluturulmaldr. nk her ilemcinin birbirlerini desteklemeyen farkl komutlar bulunur. lemcimiz bizim yaptracak olduumuz i iin de uygun olarak seilmi olmaldr. Problem analizi yaplrken programn nasl yazlaca adm adm tespit edilmelidir. Buna programn algoritmas denir. Algoritmay oluturacak kelimeler veya ifadeler ok ak 51

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).

2.2.2. Ak Diyagramnn izilmesi


Oluturulacak olan programn genel yapsnn ematik olarak semboller ile gsterilmesine ak diyagram veya blok diyagram ad verilir. Ak diyagramlar program oluturacak program paralarn (ana program, eitli alt programlar gibi) ve bu paralarn birbiri ile olan ilikilerini belirler. Program oluturulmas srasnda ak diyagram algoritmadan sonra gelmektedir. Ak diyagramnn algoritmadan fark, program aamalarnn simgeler ile gsterilmesidir. ekil 2.1de bu simgeler ve anlamlar gsterilmitir.

ekil 2.1: Ak diyagram sembolleri ve grevleri

Konuyu daha iyi anlamak iin ekil 2.2de verilen, 10 defa veri rnekleyip saklayan programn ak diyagramn inceleyebilirsiniz.

52

ekil 2.2: Ak diyagram

2.2.3. Assembly Dilinin Yazlmas


Bilgisayar sistemlerinin kulland makine dili, ok dk programlama dzeyindedir. Programlayc makine dili ile sistemle iletiim kurar. Makine dilinde iletiim srasnda oluan zorluklar nlemek iin alt dzey dil gurubuna giren ASSEMBLY dili kullanlmaktadr. Programc assembly dilinde program hazrlayacaksa kulland sistemin mikroilemcisini ve hafza haritasnn yannda, sistemin donanmn da iyi bilmesi gerekir. Komut kodlarnn ikili (binary) veya on altlk (hexadecimal) gsteriminin yerine ASSEMBLY dili komut ksaltmalarn (mnemonic) kullanmaktadr. Mikroilemciyi programlamak iin ASSEMBLY dnda farkl programlar da kullanlabilir. Fakat ASSEMBLY dilinin baz zellikleri bu dili daha kullanlr klmaktadr. Bu zellikler u ekilde sralanabilir. 1- Bilgisayar zerindeki zel donanm paralar zerinde alrken iyi bir denetim imkn verir. 2- Kk ve alabilir programlar yazlabilir. 3- Dier yksek dzeyli dillerde yazlanlara gre daha hzl alr. DEBUG programn bir nceki konuda grmtk. Hatrlayacanz gibi debug yazp program altryor, daha sonra yapacamz ie uygun komutu yazyorduk. Biz programmz assembly dilinde yazacamza gre A komutunu kullanacaz. DEBUG programnn nasl balatlacan daha nceki konumuzda aklamtk. imdi, debug programn altrdktan sonra Resim 2.9da gsterildii "A" yazp enter tuuna basnz ("A" komutu assembly dilinde program yazmak iin kullanlr.).

53

Resim 2.9: DEBUGda A komutunun altrlmas

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.

Resim 2.10: DEBUGla program yazm

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

Resim 2.11: Program sonucu AX ieriinin 5 artmas

2.2.4. Assembly Dili Komutlarnn Makine Diline evrilmesi


Mikroilemci sistemlerde lojik (mantksal) "0" ve "1" ifadelerinden oluan ve belli bir grevi yerine getirmek iin yazlm dile MAKNE DL denir.

ekil 2.3: Makine dili ve Assembly dili karlatrlmas

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

ekil 2.4: Assembly dili ve Assembler

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.

2.2.5. Programn Kaydedilmesi ve Uygulanmas


Assembly dilinde yazlm bir programa isim vermek iin N komutu ve ardndan kaydetmek iin "W" komutu kullanlr. Program altrmak iinde "G" komutu kullanlr. imdi bunlar aama aama inceleyelim. Aada basit bir program uygulamas grlmektedir. Bu programda AXin ierii BXden karlarak sonu yine AXe kaydedilmektedir.

Resim 2.12: rnek program

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.

Resim 2.13: Assembly programnn adlandrlmas

Artk programmz "G" komutunu kullanarak altrabiliriz.

Resim 2.14: Assembly programnn adlandrlmas ve altrlmas

57

Resim 2.15: Programn sonucunun gzlenmesi

2.3. Giri/k likili Program Uygulamalar


2.3.1. Portlardan Bilgi Girilmesi ve klmas ile lgili Program Uygulamalar
Assembly dilinde portlara veri girii ve portlardan veri k ilemlerinde sras ile IN ve OUT komutlar kullanlmaktadr. Giri k komutlar bildiiniz gibi evresel aygtlarla haberlemede kullanlmaktadr. Giri/k komutlar kullanlmadan nce veri gnderilecek veya veri alnacak portun adresi mutlaka DX kaytsna yklenmelidir. Veri gnderme giri k ileminde sadece AX saklaycs kullanlr. Yani bir porttaki veri ancak AXe aktarlabilirken benzer ekilde, sadece AXdeki veri bir porta aktarlabilir. Bildiiniz gibi I/O komutlarnn genel format aada verildii gibidir. IN Kaydedici, Port no OUT Port no, Kaydedici imdi aada verilen rneklerle portlardan bilgi alnmas ve okunmasn inceleyelim.

58

Resim 2.16: Port kl program rnei

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.

ekil 2.5: Paralel port kna yaplacak balant

Benzer ekilde port giriinden bilgi okumak iin aadaki program rnek olarak incelenebilir.

59

Resim 2.17: Porttan bilgi almak iin rnek bir program

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.

Tablo 2.1: Giri/k iin adres aralklar

2.3.2. Buton Kontroll Program Uygulamas


Mikroilemciye yklenen bir program dardan bir buton ile kontrol etmek isteyebiliriz. Bu bize, port knda bulunan bir devreyi istediimiz zaman altrmamza veya durdurmamza imkn verir. Bunun iin port giriine buton aracl ile uygulanacak bilgi sinyalinin, dijital (lojik) bilgi sinyali olmas gerekir.

60

Resim 2.18de buna ilikin program rnei gsterilmitir. imdi bu programn her bir satrn sras ile inceleyelim.

Resim 2.18: Buton kontroll program

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.

2.4. Alt Programlar ve Zaman Geciktirme (Timer) Program Uygulamas


Programlar ierisinde birden fazla kullanlan programlar her defasnda tekrar tekrar yazmak kullanl deildir. Bunun yerine belli bir yere yazarak ihtiya hlinde o satra ynlenerek ilem yaptrlr ve daha sonra geri dnlerek ana programda ileme devam edilir. Bu ekilde altrlan program paralarna alt program denir. Bunlardan en ok kullanlan zaman geciktirme (timer) programdr. Zaman geciktirme programlarnda sre bilgisayarn ilem hzna bal olarak deiebilir. Aadaki zaman geciktirme program yaklak 30 saniye geciktirme yaptrarak ilem bitiminde ekranda registerlarn durumunu gstermektedir. C:\>DEBUG -A 0CAF:0100 0CAF:0103 0CAF:0106 0CAF:0109 0CAF:010A 0CAF:010C 0CAF:010D 0CAF:010F 0CAF:0110 0CAF:0112

MOV AX,FFFF MOV BX,FFFF MOV CX,2 DEC CX JNZ 0109 DEC BX JNZ 0106 DEC AX JNZ 0103 INT 3

CX,BX ya da AXe atanan deerlerle sre deitirilebilir.

2.5. Saa ve Sola Bit Kaydrma Uygulamalar


Bildiiniz zere bit kaydrma komutlar, SHL (sola kaydrma) ve SHR (saa kaydrma) komutlar idi. Bu komutlarn genel kullanm aada gsterildii gibidir. SHL kaydedici, deer SHR kaydedici, deer Aadaki rneklerle konuyu pekitirmeye alalm. Debug programn altrp Resim 2.19da gsterilen komut satrlarn yazp program altrnz.

62

Resim 2.19: Sola kaydrma uygulamas

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.

Resim 2.20: Program sonucu olarak AX deeri 0008h

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.21: Saa kaydrma ile ilgili program

Resim 2.21de verilen program yazlp altrld zaman aadaki sonu elde edilir. Grld gibi AXin ierii (4)16 olarak deimitir.

Resim 2.22: Program sonucu

2.6. Interrupt (Kesme) Program Uygulamalar


imdiye kadar yaptmz uygulamalarmzda INT 21, INT 20, INT 3 gibi DOS kesmelerini kullandk. Bu uygulamamzda BIOS kesmesi ile ilgili uygulamaya arlk vereceiz. 64

Verilen programda, BIOS kesmesi ile ekrann tamamn sildikten sonra ekranda istenilen satr ve stuna renk efektleri oluturulmasn greceksiniz.

Resim 2.23: INT 10 kesmesi kullanlan program

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.

Resim 2.24: Interrupt rnek program sonucu

65

2.7. Aritmetik ve Karakter Verili Program Uygulamalar


2.7.1. Aritmetik lemli Program Uygulamas
Bu uygulamada, DS:200den balayp DS:207ye kadar olan bloktaki saylarn ka tanesinin 55ten kk olduunu bulup sonucu DS:0210 adresine yazan program yapacaz. Bunun iin aadaki verileri "E" komutu Resim 2.25te gsterildii gibi ilgili adreslere kaydediniz ve "A" komutu ile assembly komutlarnn yazmna geiniz. (DS:200=05, DS:201=0A, DS:202=4B, DS:203=59, DS:204=77, DS:205=6A, DS:206=24, DS:207=61)

Resim 2.25: rnek program iin gerekli verilerin girilmesi

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

Resim 2.26: 55Hden kk saylar sayan program

2.7.2. Harf ve Sembol kl Program Uygulamalar


Ekrana harf veya karakter yazmak iin aadaki ksa program kullanabiliriz. Bunun iin ASCII kodlarna ihtiyacmz vardr. ASCII kod tablosunda glen bir yz ifadesinin () hexadecimal (16lk say sistemi) kodunu bulunuz. Tabloda bu deerin (1)16 olduunu greceksiniz. imdi aadaki kk program yapalm.

Resim 2.27: Sembol k veren program rnei

Program altrld zaman renkli kare iinde grdnz gibi ekranda () sembol yazdrlmtr.

67

Resim 2.28: Sembol k veren program rnei sonucu

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.

2.8. Kod Dntrc Program Uygulamas


Yapacamz program hexadecimal (onaltlk) deerdeki bir saynn ASCII ve BCD karlklarn bulan bir programdr. Resim 2.29da verilen program uygulamasn ASSEMBLY dilinde yazarak altrnz.

Resim 2.29: Kod dnm yapan program rnei

68

2.9. Sensr Girili Program Uygulamas


Eer ilemcimizi, sensrlerden (s, k, ses, arlk, denge sensrleri vb.) alnacak bir bilgi ile herhangi bir sistemi kontrol etmesi iin programlamak istiyorsak ncelikle sensrlerden alnacak bilgiyi mutlaka dijital bir bilgi sinyaline dntrmek gerekir. nk sensrler algladklar s, k vb. evresel etkileri analog bir elektrik sinyaline dntrr. Bildiiniz gibi analog bilgi sinyalleri de ilemcimizin yorumlayamayaca bir bilgi sinyalidir. ekil 2.6da analog ve dijital bilgi sinyali gsterilmitir. Tabii ki analog bilgi sinyali daha farkl ekillerde de olabilir.

ekil 2.6: Analog ve dijital bilgi sinyalleri

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.

ekil 2.7: ADC giri ve k sinyalleri

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

2.9.1. Ia Duyarl Program Uygulamalar


Ia duyarl bir devre olan ekil 2.8deki devredeki rle kontaklar ularna, dijital bir bilgi uygulanr ve kontak k uygun olan porta giri olarak verilirse LDR eleman zerine her k dmesinde rle kontaklarn eker ve port giriine dijital bilgi giriine izin verilir. Bylece portta istenilen bilgi var olmu olur ve program bu deerlere gre ilem yapar. Eer LDR zerinde k yok ise rle kontaklar ak kalr ve port giriinde sfr bilgisi oluur. Ik iddetinin devredeki 10 K deerindeki potansiyometre ile ayarlayabilirsiniz.

ekil 2.8: Port giriine balanacak devre emas

2.9.2. Sese Duyarl Program Uygulamas


ekil 2.9da verilen devreyi ilgili port giriine uyguladnz zaman, port girii iin gerekli dijital bilgiyi gelen sese bal olarak alabilirsiniz.

70

ekil 2.9: Port giriine balanacak devre emas

2.9.3. Isya Duyarl Program Uygulamas


ekil 2.8dekine benzer bir devre emas ve gerekli balantlar ekil 2.10da gsterilmitir. Bu defa evre scaklndaki art alglayan NTC ile rle kontaklar kumanda ediliyor ve kontak ularndaki dijital bilgi port giriine gnderiliyor. Ia duyarl devrede olduu gibi istenilen s deeri 10 K deerindeki potansiyometre ile ayarlanabilir.

ekil 2.10: Port giriine balanacak devre emas

71

UYGULAMA FAALYET UYGULAMA FAALYET


0hdan 30 ha kadar sayan ve sayma ilemini tamamladnda ekranda glen yz simgesi yazan ve portta bir biti 1 yapan program yaznz ve bilgisayarda altrnz. lem Basamaklar neriler ncelikle alma masanz dzenleyiniz. alma ortamnz hazrlaynz. Bilgisayarnz aarak hazr hle getiriniz.

Programn ak diyagramn kartnz.

Bilgisayarnzda DEBUG programn altrnz. Ak diyagramndan yararlanarak Assembly kodlarn yaznz. Port k iin gerekli devreyi ilgili porta balaynz.

Bilgisayarnzda baka bir program altrmaynz. Sadece DEBUG anz.

Port kn gsteren devrenin alr durumda olduuna emin olunuz.

-q komutu ile program altrnz.

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.

Program istediiniz ekilde alyorsa sonlandrnz ve program kaydederek DEBUGdan knz.

72

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. Sayma tamamlandnda porta k verebilmek iin gereken port adresini tespit edebildiniz mi? 4. Ak diyagramn oluturabildiniz mi? 5. Assembly programn yazarken gerekli komutlar kullanabildiniz mi? 6. lemcinin (bilgisayarn) port giri ve klarna balanty doru ekilde yapabildiniz mi? 7. Yazdnz program altrabildiniz 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.

73

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz. 1. DEBUG program iin hangisi doru deildir? A) MS-DOS ve WINDOWS programlar ile birlikte gelen bir programdr. B) Uzants BAT olan dorudan altrlabilir dosyalar oluturur. C) Uzants EXE ve COM olan dosyalar oluturabilir. D) EXE ve COM uzantl dosyalar zerinde inceleme ve dzeltme yapma imkn salar. DEBUG programndaki R komutunun ilevi aadakilerden hangisidir? A) Program iin gerekli ayarlar yapmamz salar. B) Kaydedici ieriklerini dzeltmemizi salar. C) Kaydedicileri ve ieriklerini grmemizi salar. D) Kaydediciler iin gerekli ayarlar yapar. Aada verilen DEBUG komutlarndan hangisinin yapt i yanl olarak verilmitir? A) Q komutu, DEBUG programndan kmamz salar. B) D komutu, bellein bir ksmn ekranda gsterir. C) E komutu, bellee karakter dizisi girmemizi salar. D) A komutu, bellekteki herhangi bir program altrmamz salar. Aadaki program rnei iin verilen seeneklerden hangisi doru deildir? MOV AX,52h ADD AX,3h INT 3 A) Program basit bir toplama ilemi yapmaktadr. B) lem sonucu AXin ierii 55h olarak deiir. C) AXin ieriinden 3 eksiltilir. D) Programda AX kaydedicisinin ieriine EF bilgisini yazlmaktadr. Aadaki programn ileyii sonucunda AXin yeni ierii ne olur? MOV AX,3 SHL AX,1 INT 3 A) (0110)2=(6)10 B) (0100)2=(4)10 C) (0010)2=(2)10 D) (1001) 2=(9)10

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

MODL DEERLENDRME MODL DEERLENDRME


Aadaki cmlelerde bo braklan yerlere doru szckleri yaznz. 1. 2. 3. Mikroilemcilerle, evre birimleri ve hafza elemanlar arasnda devre balantlarn salayan iletkenlere ve yollara ... denilir. AX, BX ,CX ve DX kaydedicileri ................ amal kaydediciler olarak adlandrlr. Mikroilemcinin evre birimler ile e zamanl almasn, register, ALU ve dier birimler arasndaki veri aknn dzenli olarak gereklemesini salayan birime .. denir. Bilgileri hafzasnda geici olarak saklayan belleklere bellek denilir. Hafzann herhangi bir adresinde, kaydedicide veya giri/k portunda saklanan bilgilerin temsil ettii alana .. denir.

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

CEVAP ANAHTARLARI CEVAP ANAHTARLARI


RENME FAALYET-1N CEVAP ANAHTARI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 B C C A C D A B D A C C A C B D A A D C D D B C A C D B

RENME FAALYET-2NN CEVAP ANAHTARI


1 2 3 4 5 6 7 8 77 B C D C A Doru Doru Yanl

MODL DEERLENDRMENN CEVAP ANAHTARI


1 2 3 4 5 6 7 8 9 10 letiim Hatlar Genel Kontrol Birimi Ram Operand Doru Yanl Yanl Doru Yanl

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

You might also like