Seçkin 80x86 Assembly Dili, Tasarım ve Çevre Birimler - Ahmet Tevfik İnan, Erkan Uslu, Furkan Çakmak Seçkin Yayınları
0.0
P - 0 Yorum
(Yorum yap, İndeks Puan kazan)
%5 İndirimli
670,00 TL
636,50 TL
212,17 TL'den başlayan taksitlerle!
Seçkin 80x86 Assembly Dili, Tasarım ve Çevre Birimler - Ahmet Tevfik İnan, Erkan Uslu, Furkan Çakmak Seçkin Yayınları
Kitabın Açıklaması
Bilgisayar sistemlerinin kullanıcıya bakan yüzü yazılım katmanı olsa da, onun üstünde yer aldığı donanım katmanı ve çevre birimleri ile olan ilişkileri de iyi anlaşılması gereken konulardır.
Kitabımızda, farklı platformlarda çalışma ortamlarının nasıl hazırlanabileceği, assembly dilinin yüksek seviyeli diller ile birleştirilmek kaydı ile elde edilebilecek avantajlar vurgulanmış, örnek çeşitliliği ile açıklamalar arttırılarak okuyanların deneyerek, değiştirip geliştirerek konuları ve kullanımı daha rahat anlamalarına olanak sağlanmıştır.
Programlama mantığının geliştirilmesine yardımcı olabilmek amacıyla ekler bölümünde verilen örnekler akış diyagramları ile desteklenerek hangi değişkenlerin hangi yazmaçlar ile kontrol edilecekleri de gösterilmiştir.
Bu kapsamı ile kitabımız 80x86 Assembly (gerçek kipte) programlama dışında, Bilgisayar Mühendisliği eğitimi içerisinde yer alan Mikro İşlemciler, Programlama, Derleyici Tasarımı hatta İşletim Sistemleri derslerini bile belirli noktalarda destekleyecek Türkçe kaynak niteliğindedir.
Kitabın Konu Başlıkları
.
80x86 Mikroişlemciler, Komut Kümesi, Sözde Komutlar
.
EXE ve COM Tipindeki Programlar
.
Yordam ve Makro Kullanımı, Parametre Aktarımı
.
Kesme Mekanizması
.
Yüksek Seviyeli Diller ile Bağlantı
.
8086 Donanım Özellikleri, Temel Çevre Birimleri
.
PPI, UART, PIT, ADC
.
DAC, PIC, DMA, Bellek Arayüzlerine ait Devre Şemaları
.
Çalışma Ortamının Hazırlanması, DEBUG Komutları
.
Akış Diyagramları ve Örnekler Kodlar
Kitabın İçindekileri
Teşekkür
5
Önsöz
7
Şekil Listesi
19
Tablo Listesi
25
Kısaltmalar
31
Sembol Listesi
39
1. ASSEMBLY DİLİNİN YERİ
43
1.1 Assembly Dili Hakkındaki Yanlışlar ve Doğrular
44
2. SAYI SİSTEMLERİ
47
2.1 İkili (Binary) Sayı Düzeni
47
2.2 Sekizli (Octal) Sayı Düzeni
50
2.3 On Altılı (Hexadecimal) Sayı Düzeni
50
3. SİSTEM ORGANİZASYONU
53
3.1 FSB (Front Side Bus)
54
3.2 Bellek Bağlantı Yolları
55
3.3 Giriş/Çıkış Yolları
61
4. GENEL BİLGİLER VE 80X86 AİLESİ
69
4.1 İntel Mikroişlemcileri
69
4.2 Matematik Yardımcı İşlemciler
78
4.3 Kişisel Bilgisayarlarda Bellek Kullanımı ve Büyüklüğü
79
4.4 8086 Mikroişlemcisinin İçyapısı
83
4.5 Kesim (Segment) Yapısı
83
4.6 Yazmaç (Register)
86
4.7 Bayraklar (Flags)
90
4.8 32 Bit Mikroişlemci Yazmaçları
91
4.9 64 Bit Mikroişlemci Yazmaçları
95
4.10 16 / 32 / 64 Mikroişlemcilerin Çalışma Kipleri
96
4.11 Belleğe Erişim
98
4.12 Mikroişlemcinin Komutları Adım Adım Çalıştırması
104
5. 80X86 KOMUTLARI (MNEMONIC) VE KOMUT YAPISI
105
5.1 Veri Aktarım Komutları
106
MOV
107
MOVSX
108
MOVZX
108
LEA
109
LDS
109
LES
110
XCHG
110
XLAT / XLATB
111
5.2 Aritmetik Komutlar
111
ADD
111
ADC
112
XADD
112
SUB
112
SBB
113
INC
113
DEC
113
NEG
114
CMP
114
CMPXCHG
115
MUL
115
IMUL
116
DIV
116
IDIV
117
5.3 Dallanma Komutları
117
JZ / JE
118
JNZ / JNE
118
JS
118
JNS
119
JO
119
JNO
119
JP / JPE
119
JNP / JPO
119
JB / JNAE / JC
120
JA / JNBE
120
JAE / JNB / JNC
120
JBE / JNA
120
JL / JNGE
121
JNL / JGE
121
JLE / JNG
121
JG / JNLE
121
JMP
123
JMP FAR PTR
124
CALL
126
CALL FAR PTR
126
INT
127
INTO
127
RET
128
RETF
128
IRET
129
5.4 Döngü Komutları
129
LOOP
129
LOOPZ / LOOPE
130
LOOPNZ / LOOPNE
130
JCXZ
130
5.5 Bayraklar ile İlgili Komutlar
136
CLC
136
CMC
136
STC
137
CLD
137
STD
137
STI
137
CLI
138
LAHF
138
SAHF
138
5.6 Mantıksal Komutlar
138
NOT
139
OR
139
AND
139
XOR
140
TEST
140
SETxxx
141
BT
141
BTC
142
BTR
142
BTS
143
5.7 Öteleme ve Döndürme Komutları
143
SHL
144
SHLD
144
SAL
145
SHR
145
SHRD
145
SAR
146
RCL
146
RCR
147
ROL
147
ROR
148
5.8 Dizgi (String) Komutları
148
MOVSB
149
MOVSW
149
MOVSD
150
CMPSB
150
CMPSW
150
CMPSD
151
SCASB
151
SCASW
152
SCASD
152
LODSB
152
LODSW
153
LODSD
153
STOSB
153
STOSW
154
STOSD
154
CBW
154
CWD
155
CWDE
155
CDQ
155
BSWAP
155
5.9 Ön Ekler
156
REP
156
REPE / REPZ
156
REPNE / REPNZ
157
LOCK
157
5.10 Yığın Komutları
157
POP
158
POPA
158
POPAD
159
POPF
159
POPFD
159
PUSH
160
PUSHA
160
PUSHAD
161
PUSHF
161
PUSHFD
161
5.11 Giriş/Çıkış Komutları
162
IN
162
INSB
162
INSW
163
INSD
163
OUT
163
OUTSB
164
OUTSW
164
OUTSD
164
5.12 Durdurma ve Bekletme Komutları
164
HLT
165
NOP
165
WAIT
165
5.13 BCD Düzenleme İçin Kullanılan Komutlar
165
AAA
166
AAD
167
AAM
167
AAS
168
DAA
168
DAS
169
5.14 Diğer Komutlar
169
6. 80X86 AİLESİNDE ADRESLEME KİPLERİ
171
6.1 Veri Adresleme Kipleri
171
6.2 Program Belleği Adresleme Kipleri
176
6.3 Yığın Belleği Adresleme
177
6.4 İskele (Port) Adresleme
177
7. SÖZDE (PSEUDO) KOMUTLAR/İŞLEMLER
179
7.1 Genel Amaçlı Sözde Komutlar
179
PAGE
179
TITLE
179
SEGMENT / ENDS
180
ORG (Origine)
181
ASSUME
181
DB (Define Byte)
182
DW (Define Word)
182
DD (Define Doubleword)
183
DQ (Define Quadword)
183
DT (Define Ten Bytes)
183
EQU (Equal)
183
DUP (Duplication Factor)
184
REAL4, REAL8, REAL10
184
TYPEDEF
184
PTR (Pointer)
185
LABEL
185
PROC (Procedure) / ENDP (End of procedure)
186
EXTRN
186
PUBLIC
187
MACRO (Macro) / ENDM (End of macro)
187
188
LOCAL
188
EXITM
188
LENGTH
189
TYPE
189
SIZE
189
OFFSET
189
SEG (Segment)
190
REPT (Repetition)
190
IRP (Indefinite Repeat)
190
IRPC (Indefinite Repeat Character)
190
END
191
7.2 Koşullu Sözde Komutlar
191
IF
191
IFE
191
IF1
191
IF2
191
IFDEF
192
IFNDEF
192
IFB
192
IFNB
192
IFDIF
192
IFIDN
193
8. ASSEMBLY DİLİNDE PROGRAM YAZMAK İÇİN NELER GEREKLİDİR?
195
9. ASSEMBLY PROGRAM TİPLERİ
199
9.2 COM Yapısındaki Assembly Programların Genel Özellikleri
213
9.3 COM ve EXE Programlar Arasındaki Farklılıklar
222
10. ASSEMBLY PROGRAMIN TEMEL TAŞLARI: YORDAM VE MAKRO
225
10.1 Yordam Özellikleri
225
10.2 Makro Özellikleri
240
10.3 Yordam ve Makro Karşılaştırılması
248
11. ANA VE ALT PROGRAMLARDAKİ KESİMLERİN BİRLEŞTİRİLMESİ
249
11.1 Birleştirilmiş (Combined) Kod Kesimi Kullanımı
249
11.2 Birleştirilmiş (Combined) Veri Kesimi Kullanımı
259
12. YORDAMLAR VE PARAMETRE AKTARMA YÖNTEMLERİ
269
12.1 Yazmaç Üzerinden Parametre Aktarma
269
12.2 Yığın Üzerinden Parametre Aktarma
269
12.3 EXTRN/PUBLIC Kullanımı ile Parametre Aktarımı
275
13. SİSTEMİN ÇALIŞMAYA BAŞLAMASI (START UP)
277
13.1 DOS Bellek Haritası
279
14. KESME (INTERRUPT) NEDİR? NE AMAÇLA KULLANILIR?
281
14.1 Kesme Çeşitleri
284
14.2 Vektör Tablosunun Görevi ve Komumu
286
14.3 DOS ve BIOS Arayüzleri
290
15. YÜKSEK SEVİYELİ DİLLER VE ASSEMBLY BAĞLANTISI
293
15.1 Turbo Pascal’dan Assembly Yordam Çağırma
293
15.2 Assembly’den Turbo Pascal Yordam Çağırma
296
15.3 Turbo Pascal ve Assembly Kullanımında Dikkat Edilmesi Gerekenler
300
15.4 Turbo C’den Assembly Yordam Çağırılması
301
15.5 Assembly’den Turbo C Yordam Çağırma
302
15.6 Turbo C ve Assembly Kullanımında Dikkat Edilmesi Gerekenler
304
15.7 Linux Ortamımda GCC ve NASM Kullanımı
305
15.8 MS Visual Studio Kullanılarak C Programı İçerisinden Assembly Yordamı Çağırma
308
15.9 MS Visual Studio Ortamında C Dosyası İçerisinde Inline Assembly Kod Bloğu
312
16. 8086 DONANIM ÖZELLİKLERİ
315
16.1 İşlemcilere Yönelik Tanımlar/Kavramlar
315
16.2 8086 Mikroişlemci Genel Özellikleri
317
16.3 8086 İçyapısı
317
16.4 8086 Güç Gereksinimi
318
16.5 8086 Uç Tanımları
319
16.6 8086 Yardımcı Devreleri
323
17. TEMEL ÇEVRE BİRİMLER
331
17.1 Çevre Birimi, Çevresel Arayüz, Giriş/Çıkış Birimi
331
17.2 G/Ç Assembly Komutları
332
17.3 G/Ç Haritalama Yöntemleri
333
17.4 Adres Çözümleme Devresi
334
17.5 Temel G/Ç Birimleri
335
18. 8255 PPI (PROGRAMMABLE PERIPHERAL INTERFACE)
345
18.1 8255 Uç Tanımları
345
18.2 8255 İç Yapısı
346
18.3 8255 Kipleri
346
18.4 8255 Örnek Uygulamaları
354
19. 8251 USART (UNIVERSAL SYNCHRONOUS/ASYNCHRONOUS
RECEIVER/TRANSMITTER)
373
19.1 8251 Uç Tanımları
373
19.2 8251 İç Yapısı
373
19.3 8251 Yamaçları ve Görevleri
374
19.4 8251 Örnek Uygulamaları
378
20. 8254 PIT (PROGRAMMABLE INTERVAL TIMER)
383
20.1 8254 Uç Tanımları
383
20.2 8254 İç Yapısı
384
20.3 8254 Kontrol Yazmacı
384
20.4 8254 Kipleri
385
20.5 8254 Sayıcı Tutma Komutu
388
20.6 8254 Geri Okuma Komutu
388
20.7 8254 Durum Yazmacı
389
20.8 8254 Örnek Uygulamaları
389
21. ADC0804 VE DAC0830
397
21.1 ADC0804
402
21.2 DAC0830
402
21.3 Örnek ADC Uygulaması
403
21.4 Örnek DAC Uygulaması
405
22. 8259 PIC (PROGRAMMABLE INTERRUPT CONTROLLER)
407
22.1 Kesme Kaynakları
407
22.2 Kesme Vektör Tablosu
407
22.3 Kesme Yürütme Süreci
408
22.4 Donanımsal Kesmeler
408
22.5 8259 Uç Tanımlar
411
22.6 8259 İç Yapısı
413
22.7 8259 Kontrol ve Ayar Yazmaçları
414
22.8 PC–XT ve PC–AT Bilgisayarlarda 8259 Kullanımı
418
22.9 Örnek Uygulamalar
420
23. 8237 DMA (DIRECT MEMORY ACCESS)
437
23.1 8237 Uç Tanımları
437
23.2 8237 İç Yapısı
439
23.3 8237 Yazmaçları
440
23.4 8237 Veri Transfer Kipleri
445
23.5 8237 Programlama
446
24. BELLEK ARAYÜZÜ
449
24.1 Bellek Cihazları
449
24.2 8086 Adres Uzayı ve Bellek Arayüzü
451
24.3 Bellek Birimleri için Adres Çözümleme
453
24.4 Bellek Elemanlarında Birlikte Kullanım ile Kapasite Genişletme
455
25. EKLER
459
25.1 80x86 Ailesi Mikroişlemcilerinin Teknik Özellikleri
459
25.2 Çalışma Ortamının Kurulması
482
25.3 Debug Komutları
494
25.4 Linux’te GDB ile Debug
503
25.5 ASCII Karakter Tablosu
506
25.6 BIOS Kesme Listesi
507
25.7 DOS Kesme Listesi
511
25.8 Ek Örnek Kodlar
515
Kaynaklar
555
Türkçe İngilizce Terimler Dizini
559
Özgeçmiş
Ürün Değerlendirme ve Yorumları
Bu ürüne ilk yorumu siz yapın, her yorumunuzda İndeks Puan kazanın!