Kitapta Neler Bulacaksınız? 
 
5
Şekil ve Tablolar Listesi 
 
23
TEMEL MİKROİŞLEMCİ MİMARİSİ
 
1.1. TEMEL MİKROİŞLEMCİ MİMARİSİ 
 
31
1.1.2. Aritmetik ve Mantık Birimi (ALU) 
 
32
1.2. PROGRAMLAMAYA YÖNELİK İŞLEMCİ MİMARİSİ 
 
35
1.2.1. Veri Yolu Bağdaştırma Birimi 
 
36
1.2.2.1. Aritmetik ve Mantık Birimi 
 
38
Genel Amaçlı Kaydediciler 
 
43
1.2.2.3. x86 Mikroişlemci Kaydedicileri 
 
45
GELİŞMİŞ MİKROİŞLEMCİ ÖZELLİKLERİ
 
2. MİKROİŞLEMCİ ÖZELLİKLERİ 
 
53
2.1. Temel Mikroişlemci özellikleri 
 
53
2.2. İleri İşlemci Özellikleri 
 
54
2.2.1. Ön–Bellek Sistemleri 
 
54
2.2.1.1. Ön–Bellek Altsisteminin Çalışması 
 
57
2.2.1.2. Yerleşim Esasları 
 
57
2.2.1.3. Ön–Bellek Performansı 
 
59
2.2.1.4. Ön–Bellek Mimarileri 
 
61
İleri–bakan Ön–bellek Yapısı 
 
61
Yana–bakan Ön–bellek Mimarisi 
 
62
2.2.1.5. Ön–Bellek Uyumluluğu 
 
63
2.2.1.6. Belleğe Doğrudan Yazım 
 
64
2.2.1.7. Belleğe Geriye Yazma 
 
66
2.2.2. İş–Hattı Teknolojisi 
 
66
2.2.3. Dallanma Tahmini 
 
74
2.2.3.1. Yanlış Dallanma Tahmini 
 
74
2.2.4. Bellek Adreslemesi 
 
75
2.2.4.1. Mantıksal Bellek Tanımlaması 
 
75
2.2.4.2. Fiziksel Bellek Tanımlaması 
 
76
2.2.5. Segment Sınırları 
 
77
2.2.5.1. Ofset Adresleri 
 
77
2.2.6. Adresleme Kapasitesi 
 
78
3. KOMUT MİMARİ ESASLARI 
 
85
3.1. Komut Kümesi Mimarisi 
 
85
3.2.2. Mikrokod Kullanımı 
 
87
3.2.3. Zengin Komut Kümesi 
 
88
3.2.4. Yüksek–Düzeyli Komut Kümesi 
 
89
3.2.5. CISC Tasarımının Özellikleri 
 
90
3.2.6. Donanım Mimarisi 
 
90
3.2.8. İdeal CISC Makinesi 
 
90
3.2.9. CISC Mimarisinin Üstünlükleri 
 
91
3.2.10. CISC Mimarisinin Mahzurları 
 
91
3.3.1. İlk RISC Modeli 
 
93
3.3.2. RISC Mimarisinin Özellikleri 
 
94
3.3.3. İş–hattı Tekniği 
 
94
3.3.4. İş–hatlı Sistemlerde Performans 
 
95
3.3.6. Komut Gizliliği 
 
95
3.3.8. Süper İş–hattı Teknolojisi 
 
97
3.3.9. Süperskalar Mimari 
 
97
3.3.10. RISC Mimarisinin Üstünlükleri 
 
97
3.3.11. RISC Mimarisinin Sınırları 
 
98
3.3.13. Hatalardan Arındırma 
 
98
3.3.15. Sistem Tasarımı 
 
99
3.4.1. EPIC Mimarisinin Üstünlükleri 
 
100
4.1. İşlemci Tasarım Felsefesi 
 
105
4.2. Yeni Veri Tipleri 
 
106
4.3. Gelişmiş Komut Kümesi 
 
107
4.4. 64–bit MMX Kaydedicileri 
 
108
4.5. 128–bit SSE Komut ve Kaydedicileri 
 
109
4.6. İşlemci Seri Numarası (CPUID) 
 
113
4.7. Ön–Bellek ve Veri Yolları 
 
114
4.8. Komut ve Veri Ön–Bellekleri 
 
114
4.8.1. Bellek Organizasyonu 
 
116
4.9. Gelişmiş Transfer Sistemi 
 
117
4.9.1. Sistem Veri Yolu 
 
118
4.10. Yüksek İş–hattı Teknolojisi 
 
120
4.10.1. Veri Bağımlılığı 
 
121
4.10.2. Dallanma Tahmini 
 
124
4.11. x86 Komut Kodlarının Çevrimi 
 
128
4.13. Kaydedicilerin Yeniden Adlandırılması 
 
131
4.14. Süperskalar Çalışma 
 
132
İLERİ İŞLEMCİNİN ÇALIŞMASI
 
5.1. Bellek Altsistemi 
 
143
5.2.1. Dallanma Tahmini 
 
148
5.3. Sırasız Çalışma Mantığı (OoO) 
 
150
5.3.1. Yerleştiriciler 
 
151
5.3.2. Kaydedicilerin Yeniden Adlandırılması 
 
151
5.3.3. Mikrokodların Zamanlanması ve Sevkedilmesi 
 
153
5.3.4. Hızlı Çalışma Motoru 
 
155
5.3.5. Yükleme ve Saklamanın Yürütülmesi 
 
156
ASSEMBLY PROGRAMLAMA DİLİ
 
6.2.1. Assembly Dilinin Üstünlükleri 
 
167
6.2.2. Assembly Dilinin Mahzurları 
 
168
6.3. Üst Düzey Diller 
 
168
6.4. Çevirme İşlemleri 
 
170
6.4.2. Yorumlayıcılar 
 
173
6.5. Assembler Çeşitleri 
 
176
6.7. Program Yükleyici 
 
180
6.8. Hata Ayıklayıcılar (Debugger) 
 
181
PROGRAM YAPISI VE ADRESLEME TEKNİKLERİ
 
7. PROGRAM YAPISI VE ADRESLEME TEKNİKLERİ 
 
185
7.1.1. Açıklama Alanları 
 
185
7.2.1. Listeleme Talimatları 
 
189
7.2.2. Data Talimatları 
 
190
7.2.3. Segment Talimatları 
 
190
7.2.3.1. Align Parametresi 
 
190
7.2.3.2. Combine Parametresi 
 
192
7.2.3.3. Class Parametresi 
 
193
7.2.3.4. Readonly Parametresi 
 
194
7.2.3.5. USE Parametresi 
 
194
7.2.3.6. PROC Talimatı 
 
195
7.2.3.7. Assume Talimatı 
 
195
7.2.3.8. End Talimatı 
 
196
7.3.1. Basitleştirilmiş Segment Tanımlaması 
 
198
7.4. Veri Tanımlamaları 
 
200
7.4.1. Sembol Tanımlamaları 
 
202
7.5.1. Komut Etiketleri 
 
204
7.5.3. Şartlı Dalma Komutları 
 
205
7.5.4. Prosedür Çağrıları 
 
206
7.5.5. Yığın Kullanımı 
 
208
7.6. Adresleme Modları 
 
212
7.6.1. Komut ve Veri Adreslemesi 
 
213
7.6.2. Adresleme Teknikleri 
 
215
7.6.2.1. Veri Tanımlı Adresleme 
 
216
7.6.2.2. Kaydedici Adresleme 
 
218
7.6.2.3. Doğrudan Adresleme 
 
219
7.6.2.4. Kaydediciye Dayalı Dolaylı Adresleme 
 
219
7.6.2.5. Taban Göreceli Adresleme 
 
221
7.6.2.6. Doğrudan İndisli Adresleme 
 
222
7.6.2.7. Taban İndisli Adresleme 
 
224
7.6.2.8. 32–Bit Adresleme Modları 
 
225
x86 KOMUT YAPISI VE KÜMESİ
 
8. KOMUT YAPISI VE FORMATI 
 
233
8.1. Genel Komut Formatı ve Orgnizasyonu 
 
233
8.1.1. Komut Ön–takıları 
 
234
8.1.2. Komut Kodları (İş/işlem kodu) 
 
234
8.1.3.2. REG/Komut Kodu Alanı 
 
237
8.1.5. Yayılım ve Sabit Veri Alanı 
 
238
8.1.6. Komut Modellemesi Örneği 
 
238
8.3. Veri Aktarım Komutları 
 
242
8.3.3. MOV ve FILL Komutları 
 
245
8.3.4. Etkin Adresi Yükleme Komutu 
 
246
8.3.5. Artırma ve Azaltma Komutları 
 
247
8.3.7. IN ve OUT Komutları 
 
250
8.4. Aritmetik ve Mantık Komutları 
 
251
8.4.1. Toplama Komutları 
 
252
8.4.2. Çıkarma Komutları 
 
253
8.4.3. Çarpma Komutları 
 
255
8.4.4. Bölme Komutları 
 
256
8.4.5. İşaret Genişletme Komutları 
 
257
8.4.6. Mantıksal Komutlar 
 
258
8.5. Kaydırma ve Yönlendirme Komutları 
 
263
8.5.1. Kaydırma Komutları 
 
264
8.5.2. Yönlendirme Komutları 
 
266
8.6. Kontrol Komutları 
 
268
8.6.1. Şartsız Aktarım Komutları 
 
269
8.6.2. Prosedür Çağrısı 
 
269
8.6.4. Ofset Adres Hesaplamaları 
 
273
8.6.6. Karşılaştırma Komutu 
 
276
8.6.7. Şartlı Aktarma Komutları 
 
276
8.6.7.1. İşaretli ve İşaretsiz Veriler 
 
277
9. ARİTMETİK İŞLEMLER 
 
285
9.1. Toplama ve Çıkarma İşlemleri 
 
285
9.2. Çarpma İşlemleri 
 
285
9.2.1. İşaretsiz Sayıların Çarpılması 
 
286
9.2.2. İşaretli Sayıların Çarpılması 
 
287
9.4. Aritmetik İşlemler (ASCII ve BCD) 
 
291
9.4.1. AAA ve DAA Komutları 
 
293
9.4.2. AAS ve DAS Komutları 
 
294
9.5. İşaret Genişletme Komutları 
 
296
9.6.1.1. Sırasız Bir Listeye Eleman Eklenmesi 
 
298
9.6.1.2. Sırasız Bir Listeden Eleman Silinmesi 
 
299
9.6.1.3. Sırasız bir listeden en büyük ve en küçük değerlerin bulunması 
 
301
9.6.2. Bakış Tabloları 
 
303
9.6.2.1. değerinin ASCII, BCD değerlerine çevrilmesi 
 
304
9.6.2.2. Telefon kayıtlarının sıralanması 
 
305
10.1. String İşlem Özellikleri 
 
312
10.2. Tekrarlama Takıları 
 
315
10.3. MOV String Komutları 
 
316
10.4. LODS ve STOS Komutları 
 
320
10.5. String Karşılaştırma Komutları 
 
324
10.5.1. Sonuçların Denetimi 
 
326
BIOS VE OS İLİŞKİSİ VE KESMELER
 
11. BIOS VE İŞLETİM SİSTEMİ İLİŞKİSİ 
 
335
11.2. BIOS Data Alanı 
 
338
11.3. Kesme Adres Defteri (IVT) 
 
342
11.4. Dâhili ve Harici Kesmeler 
 
344
11.4.1. BIOS Kesmeleri 
 
344
11.5. Kesme Kontroleri 
 
346
11.6. Kesme İşlemleri 
 
348
EKRAN VE KLAVYE İŞLEMLERİ
 
12. EKRAN VE KLAVYE İŞLEMLERİ 
 
355
12.1. Ekran İşlemleri 
 
355
12.1.1. Ekranın Silinmesi 
 
357
12.1.1.1. Özellik Tanımı 
 
357
12.1.2. Kürsör Konumlanması 
 
359
12.1.2.1. Ekran Sayfa Numarası 
 
360
12.1.3. Ekrana Yazı Yazımı 
 
360
12.2. Klavye İşlemleri 
 
363
12.2.1. Klavye Shift Durumu 
 
365
Klavye Durumunun Test Edilmesi 
 
367
12.2.2. Klavye Kesme Değişkenleri 
 
369
12.2.3. Kontrol Karakterlerinin Ekranda Kullanılması 
 
372
12.2.4. Klavye Girişleri 
 
373
12.2.4.1. BIOS Klavye Girişleri 
 
373
00H Fonksiyonu: Klavyeden Karakter Giriş Talebi 
 
374
01H Fonksiyonu: Klavye Tamponunu Kontrol Et 
 
374
02H Fonksiyonu: Geçerli <Shift> Durumunun Kontrolü 
 
374
10H Fonksiyonu: Klavyeden Bir Karakter Okuma İşlemi 
 
374
12.2.4.2. DOS Klavye Girişleri 
 
376
01H Fonksiyonu: Klavye Giriş Talebi 
 
376
07H Fonksiyonu: Yansımasız Doğrudan Klavye Girişi 
 
377
0AH Fonksiyonu: Tamponlanmış Klavye Girişi 
 
377
Sınıf Listesinin Klavyeden Girilmesi ve Ekrana Yansıtılması 
 
379
Window Tipi Bir Menü Oluşturulması 
 
382
13. DISK ORGANİZASYONU 
 
391
13.2. Disk Kontrolörü 
 
395
13.3.1.1. Boot Sektörü 
 
396
13.3.1.2. Dosya Yerleşim Tablosu (FAT) 
 
397
13.3.1.2.1. FAT’in Çalışması 
 
397
13.3.1.3. Dizin (Directory) Yapısı 
 
400
13.3.2. Data Alanları 
 
401
DISK OKUMA VE YAZMA İŞLEMLERİ
 
14. DISK OKUMA VE YAZMA İŞLEMLERİ 
 
405
14.1. Dosya Kontrol Blokları Yöntemi 
 
405
14.1.1. File Handle Yöntemi 
 
405
14.3. Dosya İşaretçisi (File Pointer) 
 
407
14.4. DOS Disk İşlemleri 
 
407
Dosya Oluşturulması (3CH) 
 
408
Dosyanın Kapatılması (3EH) 
 
409
Program: Örnek Bir Programın Oluşturulması 
 
410
Dosyanın Açılması (3DH) 
 
414
Dosyadan Kaydın Okunması (3FH) 
 
415
Dosya İşaretçisinin İlerletilmesi (42H) 
 
416
Program: Bir ASCII Dosyasının Okunması 
 
419
14.5. BIOS Disk İşlemleri 
 
425
14.6. Disk Sürücüsü Durumu 
 
425
Sürücü Parametrelerinin Öğrenilmesi (08H) 
 
426
Disk Sektörlerinin Okunması (02H) 
 
427
Sektörlere Yazma İşlemi (03H) 
 
432
İz Formatlama İşlemi (05H) 
 
432
14.7. Sabit Disk ve Partisyon Tablosu 
 
432
Program: Sabit Diskin Açılabilir (Bootable) Olduğuna Bakma 
 
433
TEMEL GİRİŞ–ÇIKIŞ TEKNİKLERİ
 
15. BASİT GİRİŞ–ÇIKIŞ TEKNİKLERİ 
 
439
15.1. IN ve OUT Komutları 
 
439
15.3. I/O Komutlarının Kullanımı 
 
441
15.4. String Giriş ve Çıkış Komutları 
 
443
15.5. I/O Destek Çipleri 
 
445
15.5.1. 8253/54 Programlanabilir Süreli Zamanlayıcı 
 
445
15.5.2. Zamanlayıcının Programlanması 
 
447
15.5.3. Sayıcıların Programlanması 
 
448
15.6. 8255 ve Hoparlör 
 
450
Program: Bilgisayar hoparlöründen ses alınması 
 
454
ALT PROGRAMLARA BAĞLANTILAR
 
16. ALTPROGRAMLARA BAĞLANTI TEKNİKLERİ 
 
461
16.1. Segment Çağrıları 
 
462
16.1.1. Extern ve Public Tanımlamaları 
 
463
Birbirini Çağıran Program Örnekleri 
 
465
16.2. Modüllerarası Parametre Alışverişi 
 
467
16.2.1. Kaydedici Vasıtasıyla Parametre Geçişi 
 
468
16.2.2. Bellek Vasıtasıyla Parametre Geçişi 
 
468
16.2.3. Yığın Vasıtasıyla Parametre Geçişi 
 
469
16.3. C ve C++ Programlama Dilleri İle Bağlantılar 
 
474
16.4.1. Değişken Geçişsiz Altprogram Bağlantısı 
 
475
16.4.2. Assembly Kodlarının C diline Yerleştirilmesi 
 
477
x86 Tamsayı Komut Kümesi 
 
489
Tamsayı Komut Zamanlaması 
 
489
Komut Formatı, Saat Saykılı ve Pentium Eşleme Bilgisi 
 
490
ASCII Karakter Tablosu (1/2) 
 
518
ASCII Karakter Tablosu (2/2) 
 
519
Klavye Tipleri ve Scan kod Tablosu 
 
519
IBM PC Klavye Tarama (Scan) Kodları 
 
524
IBM PC Genişletilmiş ASCII Display Karakterleri 
 
525
Heksadesimal’den Ondalığa Çevirme 
 
526
Oktal’dan Ondalığa Çevirme 
 
526
Daha Fazla Bilgi İçin Kaynaklar 
 
528