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

523EO0014

ALAN

Uak Bakm

DAL/MESLEK

Uak Elektronik Teknisyenlii

MODLN ADI
MODLN TANIMI

Mikroilemciler

SRE
N KOUL

40/32

YETERLK

Mikroilemcilerin tanm, programlanmas ve bunlara


ilikin rnekleri ieren renme materyalidir.

Sayclar ve Kaydediciler modln tamamlam olmak


Mikroilemcileri
programlamak

kullanm

amacna

uygun

olarak

Genel Ama

MODLN AMACI

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.

ETM RETM
ORTAMLARI VE
DONANIMLARI

Ortam: Atlye
Donanm: Mikroilemci deney seti veya mikroilemci
programlama kart, bilgisayar ve bilgisayarda programlama
iin kullanlacak gerekli program ve ekipmanlar, dijital
elektronik deney seti

LME VE
DEERLENDRME

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.

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

neriler
nlnz giyerek alma masanz
dzenleyiniz.
altnz masann zerinde deneyle
ilgisi olmayan ara gere ve malzemeyi
kaldrnz.

alma ortamnz hazrlaynz.


Resim 1.3te grlen anakart zerinde
numaralandrlm ksmlar srasyla
defterinize yaznz.
retmeninizin verecei benzer bir kart
iin ayn ilemi grerek yapnz.

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

Evet

Hayr

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?

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.

2.

evre birimleri ile bilgisayar arasndaki balantlarn bir ksmn aadakilerden


hangisi salamaktadr?
A) Adres hatt
B) bilgi hatt
C) D bilgi hatt
D) bilgi hatt

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.

5.

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.

6.

ALUya gnderilen alma bilgileri aada verilenlerden hangisinden alnmaktadr?


A) Harddiskten
B) RAM hafzadan
C) ROM hafzadan
D) Akmlatrden

40

7.

Bilgi ALUda ilendikten sonra nereye gnderilir?


A) Akmlatre
B) ROM hafzaya
C) RAM hafzaya
D) Harddiske

8.

Multiplexerler aadakilerden hangisini yapar?


A) Veriyi ileyerek klara aktarr.
B) Seme ucundaki sinyale gre girilerden birini seer.
C) Katlar arasndaki sinyalleri ykseltir.
D) Hibiri

9.

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.

10.

Hangisi ilemci nitesidir?


A) Kontrol birimi
B) Giri-k birimi
C) RAM
D) BIOS

11.

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

12.

Hangisi ilemci hzn etkileyen unsurdur?


A) ektii akm
B) lemcinin yapm yl
C) Zamanlama ve kontrol dzeni
D) alma gerilimi

13.

Mikroilemci ierisinde bulunan temel birimler aadakilerden hangisi deildir?


A) Gerilim sabitleyici
B) Kontrol birimi
C) Kaydedici
D) ALU

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

15.

Aadakilerden hangisi dhil bellek grubuna girmez?


A) EPROM
B) Harddisk
C) RAM
D) ROM

16.

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.

17.

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.

18.

Aadakilerden hangisi giri/k nitesi deildir?


A) CPU
B) COM
C) USB
D) LPT

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

27.

Bir operandn yerinin belirlenmesinde kullanlan yntemlere ne denir?


A) Saklama
B) Kaydetme
C) arma
D) Adresleme

28.

MOV AX, MAKRO eklinde yaplan adresleme nasl bir adresleme yntemidir?
A) Sral
B) Dorudan
C) Dolayl
D) vedi

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 ilemi
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

Programn ak diyagramn kartnz.

ncelikle alma masanz dzenleyiniz.


alma ortamnz hazrlaynz.
Bilgisayarnz aarak hazr hle getiriniz.

Bilgisayarnzda DEBUG programn


altrnz.
Ak diyagramndan yararlanarak
Assembly kodlarn yaznz.

Bilgisayarnzda baka bir program


altrmaynz. Sadece DEBUG anz.

Port k iin gerekli devreyi ilgili


porta balaynz.

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 istediiniz ekilde alyorsa


sonlandrnz ve program kaydederek
DEBUGdan knz.

Program kaydederken verdiiniz ismi ve


kayt adresini not alrsanz daha sonra
rahatlkla bulabilirsiniz.

72

KONTROL LSTES
Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin
Evet, kazanamadnz beceriler iin Hayr kutucuuna (X) iareti koyarak kendinizi
deerlendiriniz.

Deerlendirme ltleri
1. alma ortamnz faaliyete hazr duruma getirdiniz mi?

Evet Hayr

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?

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.

2.

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.

3.

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.

4.

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.

5.

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

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.

8.

( ) Ekranmzn istediimiz satr ve stununa renk efekti eklemek iin DOS kesmesi
olarak bildiimiz kesmeleri kullanrz.

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.

Mikroilemcilerle, evre birimleri ve hafza elemanlar arasnda devre balantlarn


salayan iletkenlere ve yollara ... denilir.

2.
3.

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

B
C
D
C
A
Doru
Doru
Yanl
77

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