Professional Documents
Culture Documents
Mikroişlemciler PDF
Mikroişlemciler PDF
UAK BAKIM
MKROLEMCLER
523EO0014
Ankara, 2011
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
ii
AIKLAMALAR
AIKLAMALAR
KOD
523EO0014
ALAN
Uak Bakm
DAL/MESLEK
MODLN ADI
MODLN TANIMI
Mikroilemciler
SRE
N KOUL
40/32
YETERLK
kullanm
amacna
uygun
olarak
Genel Ama
MODLN AMACI
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
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.
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
1. MKROLEMCLER
Adndan da anlalaca gibi mikroilemci, matematiksel ilemleri yapabilen bir
elektronik yonga (chip) olarak tanmlanabilir. Boyutlar ok kk olmasna ramen
ierisinde yz binlerce hatta milyonlarca elektronik devre eleman bulunduran mikroilemci,
aslnda matematiksel ilemleri elektriin var ya da yok olmas temelinden yararlanarak
hesaplamaktadr.
Mikroilemciler bilgisayar programlarnn yapmak istedii btn ilemleri yerine
getirdii iin ou zaman merkez ilem nitesi (CPU-Central Processing Unit) olarak da
adlandrlr. Kiisel bilgisayarlar, bilgisayarla kontrol edilen sanayi tezghlar ve elektronik
alannda kullanlabilen mikroilemciler, aslnda programlanabilen entegrelerdir.
Prensip olarak bilgi hatlar iki ynl iletim yapan yollardr. Yalnzca komut kaydediciye
gelen bilgi hatt tek ynl olup btn komutlar buraya gelerek kod zcde yorumlandktan
sonra, kontrol devresine ulamakta ve kontrol devresi buna gre belirli iletim yolarn
kapayarak bilgisayarn almasn ynlendirmektedir. Ana bilgi hattndan devrelerin
yararlanmas sra ile olmaktadr. Gelen bilgilerin hangi devreden ana bilgi hattna bilgi k
yapabilecei, anahtar ve durumlu kap devreleri tarafndan belirlenmektedir. Bunlarn
almalar kontrol devreleri tarafndan ynetilmektedir.
1.1.2.2. D Bilgi Hatlar
D bilgi hatlar, mikroilemci ile bellek ve giri-k (I/O) kaplar arasndaki veri ve
komut iletimini salayan iletim hatlardr. Ayrca evre birimleri ile bilgisayar arasndaki
balantlar salayan iletim hatlar da d bilgi hattnn bir blmn oluturur.
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.
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.
Aritmetiksel ilemler
Mantksal (lojik) ilemler
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.
( yaps)
(D grnm)
11
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
Kelime uzunluu
sebeple Motorola firmas 6800in gelimi versiyonu olan ve sanal bellek kullanmn
salayan 6801 iletim sistemini retti.
15
16
kere yazlabilir. EEPROM belleklerin dezavantaj ise olduka yava silinip yazlabilir
olmasdr.
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.
18
19
Bu tr haberlemede kullanlacak olan veri bir anda bir karakter olacak ekilde hatta
konur. Alc tarafnda ise balama ve sonlanma biti kontrol edilerek veri alm
gerekletirilir. Veri gnderilirken 1 bitlik parite (elde) biti ile beraber gnderilir. Bu bit
verinin gvenli bir biimde gnderilip alnmasn salayan bittir.
Mikrobilgisayar sistemi ile d cihaz arasnda veri transferini gereklemek iin birok
yol olmasna ramen, bunlarn hepsi aadaki snf altnda toplanabilir.
Programl Giri/k
20
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
Aritmetik komutlar
Girdi/kt komutlar
Kontrol komutlar
22
RNEK:
8 bit uzunluundaki (F3)16 bilgisini adresi (AB)16 olan k portuna gndermek iin
gerekli program yapnz.
AIKLAMA:
MOV AL, F3H : Bu satrda (F3H)16 bilgisi AL kaytsna ykleniyor.
OUT ABH, AL : Bu satrda (F3)16 bilgisi (AB)16 k portuna gnderiliyor.
23
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.
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.
25
Koullu dallanma iin kullanlan komutlar ise aadaki Tablo 1.7de gsterildii
gibidir.
imdi aada verilen rnei, rendiklerimizi ve Tablo 1.7yi kullanarak aklamaya
alalm.
RNEK:
1.satr: MKRO 1 MOV AX, OA05 H
2.satr: MKRO 2 COMP AH,AL
3.satr: JE MKRO3
4.satr: DEC AH
5.satr: JMP MKRO2
6.satr: MKRO 3 MOV BX,AX
7.satr: SUB BH,BL
8.satr: CMP BH,BL
9.satr: JZ MKRO1
10.satr: NOP
AIKLAMA:
1.satr: OA05 H bilgisi AX kaytsna ykleniyor.
2.satr: AX kaytsnn yksek deerli byte deeri AH ile dk deerli bytea AL
karlatrlyor.
3.satr: AH, ALye eit ise program MKRO3 etiketli 6. satra dallanr.
4.satr: AHnin ierii 1 eksiltiliyor.
5.satr: AH ALye eit olana kadar MKRO2 etiketli 2. satra koulsuz dallanlyor.
6.satr: AXin ierii BXe ykleniyor.
7.satr: BH BLden karlr.
8.satr: BH ile BL karlatrlr.
9.satr: kartma sonucu sfr ise (sonucun sfr olduu 7.satrda belirtildi),
MKRO1e dallanma olur.
26
RNEK:
BX kaytsnn ierii 3A01, CX kaytsnn ise 0003 olsun. SAR BX, CL komutu
ilemeye balad anda BX kaytsnn yeni ierii ne olur.
27
AIKLAMA:
Grld gibi BX kayts ieriini 3 bit saa kaydran (CL=(0003)16) SAR komutu
bu ilemden dolay boalan 13, 14 ve 15. bitlere sfr yklemektedir.
1.12.5.2. Dndrme Komutlar
Dndrme komutlar da kaydrma komutlarnn yapt ie benzer bir grevi yapar.
Dndrme komutlar srasyla aada verildii gibidir.
RNEK:
BX kaytsnn ierii (3A01)16 olsun. ROL BX, 2 komutu iletildii anda BX
kaytsnn yeni ierii ne olur?
AIKLAMA:
28
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.
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.
FFxFE (1111 1111 x 1111 1110) = FD02 (1111 1101 0000 0010) olarak elde edilir ve
16 bit deerindeki bu sonu AX kaytsna kaydedilir.
1.12.8.3. Blme Komutu
Blme ileminde de AX ve DX kaytlar kullanlmaktadr. 8 bitlik blme ileminde
AX kayts, 16 bitlik blme ileminde ise DX ve AX kayts kullanlmaktadr.
Blme komutunun ileyi ekli aadaki tabloda gsterildii gibidir.
32
Mesela ierik deeri, (0248)16 olan AX kayts ierik deeri (20)16 olan CL kayts
ile DIV CL (AXCL) ilemine tabi tutulduu zaman:
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,
SBB
33
DEC
Bu komut toplama komutlar ilenirken anlatlan INC komutunun tam tersi ilem
yaparak kaytnn ieriini bir eksiltir.
AND komutu
Bu komut kaynak operand ile hedef operand arasnda VE (lojik arpma) ilemi yapar.
Dijital elektronik dersinizden de hatrlayacanz gibi VE ilemi sonucunun lojik "1"olmas
iin girdilerin her ikisinin de lojik "1"olmas gerekir. Dier durumlarda sonu daima lojik
"0" olur.
Aadaki zml rnek incelendii zaman daha kolay anlalacaktr.
AX kaytsnn ierii (A182)16 , BX kaytsnn ierii (3410) 16 olsun. AND AX, BX
komutu iletildii zaman Hexadecimal (onaltlk say sistemi) olarak verilen AX ve BX
kaytlarnn ierikleri Binary (ikilik say sistemi) olarak alp aada gsterildii gibi her
bir bit, karl olan bit deeri ile VE ilemine tabi tutulur. Elde edilen sonu ise hedef
operand olan AX kaytsna yklenir.
OR komutu
Bu komut kaynak operand ile hedef operand arasnda lojik toplama ilemi yapar.
Toplama ilemi tpk AND ileminde olduu gibi bit bit yaplr.
AND komutu iin verilen rnei OR komutu iin uygulayacak olursak (OR AX, BX)
sonucu (1011 0101 1001 0010)2 elde edilir. Bu sonu AX kaytsna kaydedilir.
34
XOR komutu
Kaynak operand ile hedef operand arasnda XOR (zel toplam) ilemini yapp kan
sonucu hedef operanda kaydeder.
XOR ileminde giriler birbirinden farkl ise lojik 1, dier durumlarda ise lojik "0"
olur.
AX ve BX kaytlarmza ilikin deerleri tekrar kullanp bu defa XOR AX, BX
komutu ile ileme tabi tutarsak sonucumuz (1001 0101 1001 0010)2 olarak elde edilir. Bu
sonu AX kaytsna kaydedilir.
NOT komutu
Bu komut yalnzca kaytnn ieriinin tersini alr. Kayt ierisindeki bilginin ikilik
deerine karlk gelen bitlerden "1" olan "0", "0" olan "1" yapar.
Mesela, ierii (18AB)16 = (0001 1000 1010 1011)2 olan AX kaytsn NOT ilemine
(NOT AX) tabi tutarsak AX kaytsnn ierii (1110 0111 0101 0100)2 sonucu elde edilir.
Bu sonu AL kaytsna yklenir.
35
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
Dorudan adresleme
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
37
UYGULAMA FAALYET
UYGULAMA FAALYET
PC anakart
neriler
nlnz giyerek alma masanz
dzenleyiniz.
altnz masann zerinde deneyle
ilgisi olmayan ara gere ve malzemeyi
kaldrnz.
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
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.
2.
5.
6.
40
7.
8.
9.
10.
11.
12.
13.
41
14.
15.
16.
17.
18.
42
21.
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.
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.
27.
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
2. PROGRAM UYGULAMALARI
2.1. Hafzaya Bilgi Yazma ve Hafzadan Bilgi Okuma Uygulamas
Bu ilemi aama aama anlatalm. Ekrana MERHABA yazsn yazan bir program
yazp bunu hafzada saklayalm. Bunun iin DEBUG programna ksa bir gz atalm.
Debug program, Windows veya DOS iletim sistemi ile birlikte gelen, uzants COM
ve EXE olan dorudan altrlabilir dosyalar oluturmanz ve bu uzantlara sahip
programlar inceleyip deitirebilmenizi salayan programdr.
Ayrca bu program ile hafzaya gz atabilir, hafzadaki bilgileri deitirebilirsiniz,
ayn imkn mikroilemci kaydedicileri iin de geerlidir. DEBUG komutunu verdiinizde
karnza aada gsterildii gibi tire (izgi) iareti kar. Bu tire, debug programnn,
vereceiniz komutlar beklediini gsterir. Vereceiniz komutlar yardm ile
mikroilemcinin kaydedicilerini (register) ve bellei inceleyebilir, basit programlar
yapabilirsiniz.
45
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
47
5- imdiki satra
int 21 yazp ENTER tuuna basyoruz.
6- Buraya da int 20 yaznz. Tabii, yine ENTERa basyorsunuz.
7- imdi karmza kan adrese bir ey yazlmayacak. Yalnzca ENTERa basnz ve
assembly program yazm modundan knz. Programmz hemen hemen bitti.
8- Karnza yine tire iareti geldi. Burada debuga e 120 MERHABA $ komutunu
veriniz.
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.
49
50
biimde seilmelidir. rnein ders almak iin yaplacak uygulamann algoritmas yle
olabilir:
1. alma odana git.
2. Odann n yak.
3. alacan dersin notlarn hazrla.
4. alma masasna otur.
5. Ders almaya bala.
Grld gibi ders alma ilemi iin birka farkl aamadan geiyoruz. Tabi bu
ilemler kiiye gre deiir. Algoritma ve programda programcsna gre deiiklik
gsterebilir. Fakat sonuta yaplacak olan i ayndr (ders alma gibi).
Konuyu daha iyi anlamak iin ekil 2.2de verilen, 10 defa veri rnekleyip saklayan
programn ak diyagramn inceleyebilirsiniz.
52
53
Resim 2.9da grdnz gibi adres, ":" ile ayrlm iki adresten olumutur.
Adreslerin ilki segment adresini, dieri ise segment iindeki ofset adresini gsterir. Burada
grlen deer default deeridir. Eer A 103C:1002 gibi bir adres belirleseydik, belirttiimiz
bu adresten itibaren ileme balardk.
Artk ASSEMBLY programmz yazmaya hazrz. Balang olarak basit bir program
seelim. Mesela AX saklaycs ierisine 1234 bilgisini yerletirip bunu 5 ile toplayalm.
Bunun iin Resim 2.10da gsterilen ilemleri sras ile gerekletirelim. Program sonunda
yazlan "G" komutu program altrr.
Program altrdktan sonra Resim 2.11de gsterilen sonu elde edilir. Burada
grdnz gibi AXin ierii 5 artrlarak 1239 olarak deitirilmitir (krmz ile iaretli).
Bylece kk bir program rneini assembly dili ile yazm olduk.
54
ekil 2.3te Assembly dilinde yazlm olan komut satrnn makine dilindeki kod
karl grlmektedir. Grld gibi, makine dili ikilik (binary) say dzenindedir ve
kullanc iin pek bir ey ifade etmez. Bu sebeple kk programlar dnda hatasz bir
ekilde program yazabilmek olduka zordur.
Assembly dilinde yazlan her program hafzada saklanrken veya ileme tabi
tutulurken "0" ve "1" ifadelerine evrilmeye ihtiya duyar. Bu evirme 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
Assembler program ROM veya benzeri bir yerde yerleik deil ise bilgisayarn
RAM belleine yklenir.
Assembler programnn altrlmas iin komut verilir.
Programn almas ile kaynak kod makine koduna evrilerek RAM bellee
yerletirilir.
Assembly dili ile yazlan program makine diline evirmek iin farkl assembler
programlar kullanabilir. Bunlar ierisinden TASM en popler olanlarndan biridir. TASM
.asm uzantl bir dosyann iindeki assembly ifadelerini ve direktiflerini okur ve bunlar
makine kodlarna dntrr.
56
57
58
Benzer ekilde port giriinden bilgi okumak iin aadaki program rnek olarak
incelenebilir.
59
60
Resim 2.18de buna ilikin program rnei gsterilmitir. imdi bu programn her bir
satrn sras ile inceleyelim.
LPT-1 portundan elde edilecek lojik "0" veya lojik "1" bilgisini grebilmek ve buton
ile kontroln salanp salanmadn test etmek iin nceki anlatmda verilen ekil 2.5teki
balanty LPT-1 portuna tekrar balamanz gerekmektedir.
MOV AX,FFFF
MOV BX,FFFF
MOV CX,2
DEC CX
JNZ 0109
DEC BX
JNZ 0106
DEC AX
JNZ 0103
INT 3
62
Program AX kayts ierisinde kaytl olan (4)16 saysn bir bit sola kaydran
programdr. Bildiiniz gibi kayt ierisine bilgiler ikilik kod (binary) olarak
kaydedilmektedir. Bu durumda (4)16 bilgisi kaydedici iinde (0100)2 olarak
kaydedilmektedir. Bu bilgi aada gsterildii gibi sola kaydrlrsa AXin ierii
(8)16=(1000)2 olarak deimektedir. Resim 2.20de bu durum daha iyi anlalmaktadr.
63
imdi benzer uygulamay SHR komutu iin yapalm. Bu defa AXin ieriini 8 olarak
verelim. Bir nceki programn tersi olacana gre program sonunda AXin ierii (4)16
olmaldr. imdi aadaki program inceleyelim.
Resim 2.21de verilen program yazlp altrld zaman aadaki sonu elde edilir.
Grld gibi AXin ierii (4)16 olarak deimitir.
Verilen programda, BIOS kesmesi ile ekrann tamamn sildikten sonra ekranda
istenilen satr ve stuna renk efektleri oluturulmasn greceksiniz.
65
Resim 2.26da ise bizden istenilen ilemi yerine getirecek olan debug program
gsterilmitir. Renkli iaretli olan yerler dng adreslerinin yerlerini gstermektedir.
Program sonunda (55)16 dan kk olan saylarn miktar [0210] adresine kaydedilir.
66
Program altrld zaman renkli kare iinde grdnz gibi ekranda () sembol
yazdrlmtr.
67
Ekrana baka bir ifade veya harf yazdrmak iin 1. satrda verilen komuttaki DLnin
nndeki (1)16 rakamn deitirmeniz yeterlidir.
kinci satrda yaplan ilemin sebebi, veri giri k iin kullanlan INT 21 DOS
kesmesidir. Kesme sonunda altrlacak olan ekrann (2)16 kodu, programn yazlmas
srasnda AH saklaycsna yklenir ve INT 21 kesmesi AH saklaycsna bakarak ilgili
fonksiyonu altrr.
68
ekilde de grdnz gibi, analog bilgi sinyali "0" ve "1" bilgilerinin dnda dier
ara deerleri de iermektedir. Oysa dijital bilgi sinyali sadece "0" ve "1" bilgilerini iererek
bilginin var veya yok olduunu kesin olarak gsterebilmektedir. Zaten ilemcileri
tanmlarken bilginin var veya yok olmasna gre ilem yapan elemanlar olarak
tanmlamtk. Bu sebeple ilemci dijital bilgiye ihtiya duymaktadr.
Analog bir bilgi sinyali, ksaca ADC olarak adlandrlan analog dijital eviriciler ile
dijital bir bilgiye dntrlebilir. ekil 2.7deki blok diyagramda ADC giriindeki ve
kndaki bilgi sinyalleri gsterilmitir.
Sistem iin daha nce hazrladmz buton kontroll program kullanabiliriz. Aradaki
fark, port giriine uygulanacak dijital bilginin buton yerine, sensr ve sensr bilgisini dijital
bilgiye eviren ADCden alnmasdr.
Port giriine daha pratik olmas iin rle kumanda eden bir devre balayabiliriz.
Bylece rle kontaklarna dijital bir bilgi girerek ADCye gerek olmadan dijital bilgi girii
yapabiliriz. Aada buna uygun uygulama rnekleri gsterilmitir. Tabii buton kontroll
uygulamada yaptmz program kullanyoruz.
69
70
71
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
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
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.
2.
3.
4.
5.
74
Aada bo braklan parantezlere, cmlelerde verilen bilgiler doru ise D, yanl ise
Y yaznz.
6.
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.
2.
3.
4.
5.
6.
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
B
C
D
C
A
Doru
Doru
Yanl
77
letiim Hatlar
Genel
Kontrol
Birimi
Ram
Operand
Doru
Yanl
Yanl
Doru
Yanl
78
KAYNAKA
KAYNAKA
79