Yazar Adı: |
MEHMET BODUR |
ISBN No: |
EK/2014/586 |
|
Yayın No: |
EK/2014/586 |
Yayın Yeri: |
ANKARA |
Sayfa Sayısı: |
218 |
|
|
Kredi kartınızla online ödeme yapmak istemiyorsanız veya sorun yaşıyorsanız banka havalesi veya eft yolu ile ödeme yapabilirsiniz. Ödeme Bilgileri İş Bankası Yenişehir Şubesi (4218) 5841411 No‘lu Hesap (IBAN TR11 0006 4000 0014 2185 8414 11) Açıklama kısmına almak istediğiniz yayın/yayınların adını, TC Kimlik No veya Vergi No‘nuzu yazınız. Ödeme yaptıktan sonra dekontu (0312) 417 38 18 No‘lu faksa veya emo@emo.org.tr e-posta adresine adresiniz ile birlikte gönderiniz.
Mikroislemci kavramı 70`li yıllardan baslayarak mühendislik dünyamıza girdi. Önceleri ancak haberlesme, uzay ve havacılık gibi alanlarda kullanım bulan bu kavram hızla bilgisayar donanımı, endüstriyel kontrol sistemleri gibi alanlarda genis uygulama alanı buldu. Islemci üretim teknolojisinin gelismesi ve ucuzlamasıyla günümüzde mikroislemcikullanılmayan alan kalmadı. Elinizdeki kitap DAÜ Bilgisayar Mühendisligi Türkçe Programına yönelik olarak, bilgisayar mühendisi adaylarına mikro islemcilerin temel yapısı, devreleri, ve çevirici diliyle programlanmasını vermek üzere yazıldı. Kitaptaki konuların takip edilebilmesi için ögrenci temel mantık tasarımının yanısıra ardısık sayısal devre analizini, ve yazmaç kavramını biliyor olmalıdır. Kitap kısa bir genel giris bölümünün ardından dogrudan çevirim dili programlamaya giriyor ve mikroislemci devrelerindeki bellek sistemi ile giris çıkıs sistemi, ve bunlara baglı analog ya da sayısal dönüstürücü, zamanlama, ya da haberlesme donanımı gibi donanıma yönelik kavramlar için gerekli yazılım tabanını olusturmayı amaçlıyor. Bu kitap akademik amaçla dagıtılan pdfLATEX ile dizildi ve içindeki sekillerin büyük bölümü TiKz ortamında çizildi. Son olarak kitabın yazılısında gerekli zamanı ve enerjiyi ayırabilmemi saglayan, çesitli konularda fikirleriyle destek olan sevgili ailem ve meslek arkadaslarıma tesekkür eder kitabın okuyuculara yararlı olmasını dilerim. Dr. Mehmet Bodur Eylül 2012
Içindekiler iii Sekiller xi Önsöz xiii Yazarın Önsözü xiii 1 Ön Bilgilenme 1 1.1 Sayı sistemleri 1 1.1.1 Onlu-Ikili Dönüsüm 1 1.1.2 Isaretsiz ve isaretli sayılar 3 1.1.3 Ikili tümleyen ve isaret degistirme 5 1.1.4 Eksileme ve Tersine çevirme 7 1.1.5 Ikiliden Onaltılıga dönüsüm 7 1.1.6 Onaltılıktan onluga dönüsüm 8 1.2 Ikili Sayılarla Aritmetik 8 1.2.1 Toplama 9 1.2.2 Çıkarma 9 1.2.3 Isaretli uzatma 10 1.2.4 Isaretli Toplamanın Tasması 11 1.2.5 Sayılar ve Yazıların Kodlanması 11 Ondalık sayıların BCD kodlanması 12 Yazı karakterlerinin kodlanması 12 Gray kodlama 14 1.3 Mikroislemcinin Içindekiler 14 1.3.1 Aritmetik Mantık Birimi 15 1.3.2 Ana Bellek 15 1.3.3 Makina Dilleri 16 1.3.4 Çevirici Diller 16 1.3.5 Yüksek Düzey Programlama Dilleri 17 1.3.6 Bellek yazmaçlarının adreslenmesi 17 1.3.7 Komut seti 17 1.3.8 Program sayacı 17 1.3.9 Saat çevrimi 17 1.3.10 Program akısı ve bayrak yazmacı 18 1.3.11 Bellege yazılı program kavramı 18 1.3.12 CPU nasıl çalısır 18 1.3.13 Kesme servisi 19 1.3.14 Program çalıstırma hızı 19 2 Adres ve Yazmaç Mimarisi 21 2.1 Yazmaç Mimarisi 21 2.2 8086 Adres Bölütleme 23 2.2.1 Veri adresi bölütleme 23 2.2.2 Kod adresi bölütleme 24 2.2.3 Yıgıt adresi bölütleme 24 2.3 Çevirici (assembler) satır yapısı 25 2.3.1 MOV ve ADD komutları 26 2.4 Adresleme modları 27 2.5 Yazmaç Adresleme modları 27 2.6 Bellek Adresleme modları 27 2.6.1 Anlık (Literal) adresleme modu 28 2.6.2 Dogrudan Adresleme Modu 28 2.6.3 Yazmaçlı Dolaylı Adresleme Modu 29 2.6.4 Eklemeli Dizinli Adresleme 29 2.6.5 Tabanlı Eklemeli Adresleme 29 2.6.6 Eklemeli Tabanlı Dizinli Adresleme 30 2.7 Bölüt Çakısması ve Katlanması 30 2.8 Bayrak yazmacı 30 3 Çevirici Dili Bilesenleri 33 3.1 Sabitler ve ifadeler 33 3.1.1 Sabitler 33 3.1.2 Ifadeler: 33 Karakter ve dizgi sabitleri 34 3.2 Açıklamalar 35 3.3 Ayrılmıs (Anahtar) sözcükler 35 3.4 Belirteçler 35 3.5 Deyimler 36 3.6 Komutlar anımsatıcılar ve islenenler 36 3.7 Derleyici Talimatları 38 3.7.1 Program düzeni talimatları 38 3.7.2 Bölüt yazmaçlarının ilkdegerlenmesi 39 3.7.3 Veri Tipleri ve Talimatları 40 3.7.4 Sabit Deger ve Adres Bası Talimatı 41 3.8 Veri Bellek Haritası 42 3.9 Çeviriciler ve Emulatorler 43 3.9.1 Çevirici dilinden yürütülebilir dosyaya 44 4 Komutlar ve Çevirici Kodları 47 4.1 Veri Aktarım Komutları 47 4.2 Dogrudan Bellek Isleneni 47 4.2.1 Veri adresi ve offset niteleyicisi 48 4.2.2 Verinin bir parçasına erismek 49 4.3 Indeks ve Taban Adresli Islenenler 50 4.3.1 LOOP komutu 50 4.4 Adresleme tiplerinin kodlamaya katkısı 51 4.5 Sıçrama, Dallanma ve Adres Etiketleri 55 4.5.1 Kosulsuz sıçrama JUMP, JMP 55 4.5.2 Kosullu Uzun Sıçrama 56 4.5.3 Tek Bayrak Kosullu Sıçramalar 56 4.5.4 Isaretli Islem Kosullu Sıçramalar 57 4.5.5 Isaretli Islem Kosullu Sıçramalar 58 4.5.6 Döngü Komutları ve DEC+JNZ den farkı 59 4.5.7 Yordam Çagrı Komutları 59 4.6 EXE ve COM dosyası olusturma 62 4.6.1 COM dosyaları 62 4.6.2 EXE dosyaları 62 4.7 Çok kullanılan komutlar 63 4.7.1 Iki islenenli komutlar: 63 4.7.2 Adres Islenenli Komutlar 63 4.7.3 Tek islenenli komutlar 64 4.7.4 Isleneni olmayan komutlar 64 4.7.5 I/O Port Komutları 65 5 Bellek ve Giris/Çıkıs Arayüzü 67 5.1 ISIS 8086 Modeli 67 5.2 Adres ve Veri yolları 67 5.3 Sekiz Bitlik Adres Çözümleme 68 5.4 Çıkıs Portu Devresi 69 5.5 Giris Portu Devresi 70 5.6 On Bitlik Adres Çözümleme 71 5.6.1 IBM-PC`nin giris/çıkıs adres tablosu 73 5.7 Bellek yapısı ve düzeni 75 5.7.1 Reset olayı 75 5.7.2 Uzatılmıs ve Genisletilmis Bellek Bölgeleri 75 5.7.3 Kesme Yapısı 76 5.7.4 BIOS, DOS, ve Kullanıcı Kodları 76 6 DOS Servisleri, Aritmetik ve Metin Isleme 77 6.1 BIOS ve DOS servisleri 77 6.1.1 INT 10 BIOS Servisleri 77 6.1.2 INT 21 DOS Servisleri 79 6.1.3 INT 16h DOS Klavye Servisleri 81 6.2 Aritmetik Mantık Komutları 82 6.2.1 Uzun sayıları elde bayraklı toplama 82 6.2.2 32-bitlik uzun çıkarmalar 84 6.2.3 Farklı genislikteki sayılarla toplama 85 6.2.4 Çarpma ve Bölme 87 6.3 Mantık komutları 90 6.4 BCD ve ASCII islemler 91 6.5 Dönme ve Kaydırma Komutları 94 7 Makro ve moduler programlama 97 7.1 Makronun Avantajları 97 7.2 Makronun tanımlanması 98 7.3 Makro ile Altprogramın farkı 99 7.4 Makroda Lokal Etiketleme 101 7.5 Kaynak Metine Dosya Ekleme 103 8 8086-8088 islemcisi 105 8.1 Gelisimi ve uç tanımları 105 8.2 Adres ve Veri Yolları Yapısı 106 8.3 8086-8088 Adres Uzayı 107 8.4 8086-88 veriyolu denetimi 108 8.4.1 IBM-PC bellek ve port denetim sinyalleri 109 8088 denetim girisleri 109 8.4.2 Islemcinin baslama durumu 110 8.5 Bellek yongasının yapısı ve denetim uçları 110 8.5.1 Bellege erisim hızı 111 8.5.2 Bellek okuma çevrimi 111 8.5.3 Bellek yazma denetimi 112 8.6 8088 Bellek zamanlaması 113 8.6.1 Beklemesiz bellek okuma çevrimi 113 8.6.2 Beklemeli bellek okuma 114 8.6.3 i/o (giris/çıkıs) port islemleri 115 8.6.4 8088 basit çıkıs portu 116 8.6.5 8088 basit giris portu 119 74LS373 ile giris portu 119 74LS244 ile giris portu 119 Giris portu devresi 119 8.6.6 74LS373 ile giris portu 121 8.7 Bellek üzerinden giris/çıkıs 122 8.7.1 Bellek üzerinden giris portu 122 8.7.2 Bellek üzerinden çıkıs portu 123 8.7.3 Izole giris/çıkısı olmayan sistemler 124 8.8 IBM-PC veriyolu denetim sinyalleri 124 8.8.1 8088 denetim çıkısları 124 8.8.2 8088 denetim girisleri 124 8.9 8088 maximal modu 125 8.9.1 8088 IBM-PC ve 8-bit ISA veriyolu 126 8.10 80286 ve 16-bit ISA veriyolu 127 8.11 80286 ve 16-bit ISA veriyolu 127 8.12 80286 okuma çevrimi 129 9 Bellek alt sistemi 131 9.1 Bellek kapasitesi birimi 131 9.2 Karakteristik bellek degiskenleri 133 9.3 Bellek çesitleri 134 9.3.1 Sık kullanılan ROM bellek yongaları 135 9.4 Bellek erisim ve denetim sinyalleri 135 9.4.1 Adres ve veri uçları 135 9.4.2 Bellek denetim sinyalleri 136 9.4.3 Statik RAM, Rasgele erisimli bellekler 136 9.4.4 Dinamik bellek 136 9.5 Bellek Genisletme ve Adres Çözücü 138 9.5.1 Veri genisletme 139 9.5.2 Adres genisletme 140 9.6 Adres Çözücü devreler 141 9.6.1 NAND ile adres çözücü 143 9.7 Dekoder ile adres çözümleme 145 9.8 PC`de bellek bütünlügü ve güvenirligi 150 9.9 Bellek veri yolu genisligi ve veri yolu band genisligi 151 10 Giris/Çıkıs devreleri uygulamaları 153 10.1 8255 programlanabilir çevre arayüzü yongası 153 10.1.1 8255`in uçları ve yazmaç adresleri 153 10.1.2 8255`in yapılandırma yazmacı ve mod-0 yapısı 155 10.2 8255 ile 7-Bölütlü Göstergelerin kullanılısı 156 10.2.1 7-Bölütlü Göstergenin Yapısı 157 10.2.2 Gösterge Kodu ve Kullanılısı 157 10.2.3 Çoklamalı 7-Bölütlü Gösterge 159 10.3 LCD gösterge modülü 165 10.3.1 LCD Modülün port baglantısı ve kullanılısı 166 10.4 Adım Motoru Arayüzü 169 10.4.1 Motor Kodu Tablosu ve Kullanılması 170 10.5 Sayısaldan-Örneksele Dönüstürücüler 175 10.5.1 Basamak gerilimi 177 10.5.2 Periyodik Fonksiyon Üreteci 178 10.5.3 Örneksel-Sayısal Arayüz 181 ADC tipleri 181 ADC0804 yongası 182 ADC0804 dönüstürme çevrimi 183 LM35D ve ADC0804 ile sıcaklık ölçümü 184 A Turbo ve MS Assembler ile çalısma 189 A.1 Kaynak Dosyası ve DOS Penceresi 189 A.2 TASM ile Obje ve Liste Olusturma 189 A.3 TLINK ile EXE dosyası olusturma 191 A.4 TD ve EXE dosyasının takip edilmesi 191 A.5 EXE nin TD de yürütülmesi 192 A.6 MASM ile çalısma 193 A.7 TASM ile COM dosyası olusturma 193 B EMU8086 Kod Gelistirme Ortamı 195 B.1 EMU8086 Metin Editörü 195 B.2 EMU8086 Çevirici Dilyapısı 196 C Sık Kullanılan Komutlar 197 C.1 Iki islenenli komutlar 197 C.2 Adres Islenenli Komutlar 198 C.3 Tek islenenli komutlar 199 C.4 Bit Kaydırma ve Döndürmeler 200 C.5 Isleneni olmayan komutlar 201
|