Kategoriler
Eser Adı Yazar Açıklama İçindekiler Barkod
Arama  
Ana Sayfa Sipariş Takibi Üyelik İletişim
 
 
   
80x86 Assembly Dili, Tasarım ve Çevre Birimler
Kavram – Tasarım – Uygulama
Ocak 2021 / 1. Baskı / 566 Syf.
Fiyatı: 670.00 TL
 
Sepete Ekle
   

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.

Kitapta yer alan örnek programlar ve devre şemaları s://github.com/80x86adtcebi veya s://www.seckin.com.tr adreslerinde paylaşılarak olabilecek eklemelere/katkılara imkân sağlanarak bilginin canlı tutulması amaçlanmıştır.

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.

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
Barkod: 9789750265112
Yayın Tarihi: Ocak 2021
Baskı Sayısı:  1
Ebat: 18x24
Sayfa Sayısı: 566
Yayınevi: Seçkin Yayıncılık
Kapak Türü: Karton Kapaklı
Dili: Türkçe
Ekler: -

 

İÇİNDEKİLER
İçindekiler
Teşekkür  5
Önsöz  7
İçindekiler  9
Ş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.1 EXE Tipindeki Assembly Programların Genel Özellikleri  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ş  565
 


 
Kitap
 
 
Ana Sayfa | Hakkımızda | Gizlilik Sözleşmesi | Üye Sayfası | Yardım | İletişim
Akademik ve Mesleki Yayınlar

Seçkin Yayıncılık San. Tic. A.Ş.
Copyright © 1996 - 2024