Kategoriler
Eser Adı Yazar Yayınevi Açıklama İçindekiler Barkod
Arama  
Ana Sayfa Sipariş Takip Üyelik Yardım İletişim
 
 
Bülten
   

×
80x86 Assembly Dili
(Örnekler ile 125 Komut, 42 Sözde Komut ve 14 Debug Komutu)
Ağustos 2013 / 2. Baskı / 327 Syf.
Baskısı tükenmiştir.
 

Diğer Baskılar
 Baskı Tarih Fiyatı İndirimli
 1. Şubat 2012 23.00 TL 14.90 TL (%35) Sepete Ekle
   

Bu kitap, Bilgisayar Mühendisliği bölümlerinde okutulan Assembly Dili dersi kapsamında, 80x86 işlemci ailesinin gerçek kipte programlanması konusunda duyulan Türkçe ders kitabı eksikliğini bir ölçüde giderebilmek amacıyla hazırlanmıştır. Amacımız karmaşık algoritmaların Assembly dili ile kodlanmanın ötesinde, problemleri mümkün olduğunca basit tutarak okuyucunun programlamada dikkat etmesi gereken noktalara odaklanmasını sağlamaktır.

2. baskısını yapan kitap, gözden geçirilmiş, bilgiler güncellenmiş, gerçek kipte kullanılan 125 komut, 42 sözde komut ile 14 Debug komutunun kullanım özellikleri örnekler ile açıklanmış, kullanılan 111 tablo, 27 şekil, 189 dipnot, 110 İngilizce kısalma, 131 İngilizce-Türkçe terim ile anlatımı güçlendirilmiş ve ayrıntılı olarak açıklanan 42 örnek çözüm ile içerik genişletilmiştir.

Konu Başlıkları
Assembly Dili Hakkındaki Doğru ve Yanlışlar
PC Mimarisi ve 80x86 Ailesi İşlemciler
Örnekler ile Desteklenmiş Komut Kümesi
Adresleme Kipleri
Örnekler ile Desteklenmiş 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ı
Çalışma Ortamının Hazırlanması ve DEBUG Komutları
Barkod: 9789750224966
Yayın Tarihi: Ağustos 2013
Baskı Sayısı:  2
Ebat: 18x23
Sayfa Sayısı: 327
Yayınevi: Seçkin Yayıncılık
Kapak Türü: Karton Kapaklı
Dili: Türkçe
Ekler: -

 

İÇİNDEKİLER
Teşekkür  5
Önsöz  7
2. Baskının Önsözü  9
Tablo Listesi  25
Kısaltmalar Dizini  29
1.ASSEMBLY DİLİNİN YERİ  33
1.1Assembly Dili Hakkındaki Yanlışlar ve Doğrular  34
1.1.1Assembly Dili Hakkındaki Yanlışlar  34
1.1.2Assembly Dili Hakkındaki Doğrular  36
1.1.3Neden 80x86 Assembly Dili?  36
2.SAYI SİSTEMLERİ  37
2.1İkili (Binary) Sayı Düzeni  37
2.2Sekizli (Octal) Sayı Düzeni  40
2.3On Altılı (Hexadecimal) Sayı Düzeni  40
3.SİSTEM ORGANİZASYONU  43
3.1FSB (Front Side Bus)  44
3.2Bellek Bağlantı Yolları  44
3.2.1SDRAM (Synchronous Dynamic Random Access Memory)  45
3.2.2DDR-SDRAM (Dual Data Rate SDRAM)  46
3.2.3DDR2-SDRAM (Dual Data Rate 2 – SDRAM)  47
3.2.1DDR3-SDRAM (Dual Data Rate 3 – SDRAM)  48
3.2.2DDR4-SDRAM (Dual Data Rate 4 – SDRAM)  49
3.2.3RDRAM (Rambus Dynamic Random Access Memory)  50
3.3Giriş/Çıkış Yolları  50
3.3.1Yüksek Hızlı Giriş/Çıkış Yolları  51
3.3.1.1Grafik Birim Bağlantısı  51
3.3.1.2İkincil Bellek Birim Bağlantısı  52
3.3.1.3Diğer Çevre Birim Bağlantıları  54
3.3.1.4IEEE 1394  54
3.3.1.5PCMCIA (Personal Computer Memory Card International Association)  55
3.3.1.6USB (Universial Serial Bus)  55
3.3.2Düşük Hızlı Giriş/Çıkış Yolları  56
3.3.2.1Paralel (Eşanlı) İskele  56
3.3.2.2Seri (Dizisel) İskele  56
4.GENEL BİLGİLER VE 80X86 AİLESİ  57
4.1Ana İşlemciler  57
4.2Matematik İşlemciler  62
4.3Kişisel Bilgisayarlarda Bellek Kullanımı ve Büyüklüğü  67
4.3.1Genişletilmiş (Expanded) Bellek  68
4.3.2Uzatılmış (Extended) Bellek  68
4.48086 İşlemcisinin İçyapısı  70
4.5Kesim (Segment) Yapısı  70
4.5.1Kod (Code) Kesimi  71
4.5.2Yığın (Stack) Kesimi  72
4.5.3Veri (Data) Kesimi  73
4.5.4Ek (Extra) Kesim  73
4.6Yazmaç (Register)  73
4.6.1Veri Grubu Yazmaçları  73
4.6.1.1AX: Accumulator  74
4.6.1.2BX: Base Register  74
4.6.1.3CX: Count Register  74
4.6.1.4DX: Data Register  75
4.6.2İşaret Grubu Yazmaçları  75
4.6.2.1SP: Stack Pointer  75
4.6.2.2BP: Base Pointer  75
4.6.2.3IP: Instruction Pointer  75
4.6.3Sıra Grubu Yazmaçları  76
4.6.3.1SI: Source Index  76
4.6.3.2DI: Destination Index  76
4.6.4Kesim Grubu Yazmaçları  76
4.7Bayraklar (Flags)  77
4.7.1CF: Carry Flag  77
4.7.2PF: Parity Flag  77
4.7.3AF: Auxilary Carry Flag  77
4.7.4ZF: Zero Flag  77
4.7.5SF: Sign Flag  77
4.7.6TF: Trap Flag  78
4.7.7IF: Interrupt Flag  78
4.7.8DF: Direction Flag  78
4.7.9OF: Overflow Flag  78
4.816 / 32 Bitlik İşlemciler Arasındaki Farklılıklar  78
4.8.132 Bitlik İşlemcideki Diğer Bayraklar  80
4.8.1.1AC: Alignment Check  80
4.8.1.2VM: Virtual 8086 Mode  80
4.8.1.3RF: Resume Flag  80
4.8.1.4NT: Nested Task  80
4.8.1.5IOPL: I/O - Privilege Level  80
4.8.2Kontrol Yazmaçları  81
4.8.2.1CR0: Control Register 0  81
4.8.2.2CR1: Control Register 1  82
4.8.2.3CR2: Control Register 2  82
4.8.2.4CR3: Control Register 3  82
4.8.2.5Debug ve Test Yazmaçları  82
4.964 Bit İşlemci Yazmaçları  82
4.10Belleğe Erişim  83
4.10.1Gerçek Kipte Fiziksel Adres Hesabı  84
4.10.2Korumalı Kipte Fiziksel Adres Hesabı  85
4.10.2.116 Bit Korumalı Kip  85
4.10.2.232 Bit Korumalı Kip  85
4.10.2.3Sanal (Virtual) 8086 Kipi  86
4.11Çalışma Kipleri Arasındaki Farklar  86
4.12İşletim Sistemleri Açısında Çalışma Kipleri  87
4.13İşlemcinin Komutları Adım Adım Çalıştırması  87
5.80X86 KOMUTLARI (MNEMONIC) VE KOMUT YAPISI  89
5.1Veri Aktarım Komutları  90
MOV  91
MOVSX  92
MOVZX  92
LEA  93
LDS  93
LES  94
XCHG  94
XLAT / XLATB  95
5.2Aritmetik Komutlar  95
ADD  95
ADC  96
XADD  96
SUB  96
SBB  97
INC  97
DEC  97
NEG  98
CMP  98
CMPXCHG  99
MUL  99
IMUL  100
DIV  100
IDIV  101
5.3Dallanma Komutları  101
5.3.1Koşullu Dallanma Komutları  101
5.3.1.1Basit Koşullu Dallanma Komutları  102
JZ / JE  102
JNZ / JNE  102
JS  102
JNS  103
JO  103
JNO  103
JP / JPE  103
JNP / JPO  103
5.3.1.2İşaretsiz Sayı İşlemlerine Ait Koşullu Dallanma Komutları  103
JB / JNAE / JC  104
JA / JNBE  104
JAE / JNB / JNC  104
JBE / JNA  104
5.3.1.3İşaretli Sayı İşlemlerine Ait Koşullu Dallanma Komutları  105
JL / JNGE  105
JNL / JGE  105
JLE / JNG  105
JG / JNLE  105
5.3.2Koşulsuz Dallanma Komutları  106
JMP  106
JMP FAR PTR  107
5.3.3Çağırma Komutları  108
CALL  109
CALL FAR PTR  109
INT  110
INTO  110
5.3.4Dönüş Komutları  110
RET  111
RETF  111
IRET  112
5.4Döngü Komutları  112
LOOP  112
LOOPZ / LOOPE  113
LOOPNZ / LOOPNE  113
JCXZ  113
5.5Bayraklar ile İlgili Komutlar  119
CLC  119
CMC  119
STC  120
CLD  120
STD  120
STI  120
CLI  121
LAHF  121
SAHF  121
5.6Mantıksal Komutlar  121
NOT  122
OR  122
AND  122
XOR  123
TEST  123
SETxxx  124
BT  124
BTC  125
BTR  125
BTS  126
5.7Öteleme ve Döndürme Komutları  126
SHL  127
SHLD  127
SAL  128
SHR  128
SHRD  128
SAR  129
RCL  129
RCR  130
ROL  130
ROR  131
5.8Dizgi (String) Komutları  131
MOVSB  132
MOVSW  132
MOVSD  133
CMPSB  133
CMPSW  133
CMPSD  134
SCASB  134
SCASW  135
SCASD  135
LODSB  135
LODSW  136
LODSD  136
STOSB  136
STOSW  137
STOSD  137
CBW  137
CWD  138
CWDE  138
CDQ  138
BSWAP  138
5.9Ön Ekler  139
REP  139
REPE / REPZ  139
REPNE / REPNZ  140
LOCK  140
5.10Yığın Komutları  140
POP  141
POPA  141
POPAD  142
POPF  142
POPFD  142
PUSH  143
PUSHA  143
PUSHAD  144
PUSHF  144
PUSHFD  144
5.11Giriş/Çıkış Komutları  145
IN  145
INSB  145
INSW  146
INSD  146
OUT  146
OUTSB  147
OUTSW  147
OUTSD  147
5.12Durdurma ve Bekletme Komutları  147
HLT  148
NOP  148
WAIT  148
5.13BCD Düzenleme İçin Kullanılan Komutlar  148
AAA  149
AAD  150
AAM  150
AAS  151
DAA  151
DAS  152
5.14Diğer Komutlar  152
6.80X86 AİLESİNDE ADRESLEME KİPLERİ  153
6.1Anlık (Immediate) Adresleme  153
6.2Yazmaç (Register) Adresleme  153
6.3Doğrudan (Direct) Adresleme  153
6.4Yazmaç Dolaylı (Register Indirect) Adresleme  154
6.5Baz Göreli (Base Relative) Adresleme  154
6.6Doğrudan İndisli (Direct Index) Adresleme  155
6.7Dizgi (String) Adresleme  157
6.8İskele (Port) Adresleme  158
6.8.1Doğrudan İskele Adresleme  158
6.8.2Dolaylı İskeleme Adresleme  158
7.ASSEMBLY DİLİNDE PROGRAM YAZMAK İÇİN NELER GEREKLİDİR?  159
8.SÖZDE (PSEUDO) KOMUTLAR/İŞLEMLER  163
8.1Genel Amaçlı Sözde Komutlar  163
8.1.1Dosya Düzenlemede Kullanılan Sözde Komutlar  163
PAGE  163
TITLE  163
8.1.2Kesim Düzenlemede Kullanılan Sözde Komutlar  164
SEGMENT / ENDS  164
ORG (Origine)  165
ASSUME  165
8.1.3Veri Tanımlamada Kullanılan Sözde Komutlar  166
DB (Define Byte)  166
DW (Define Word)  166
DD (Define Doubleword)  167
DQ (Define Quadword)  167
DT (Define Ten Bytes)  167
EQU (Equal)  167
DUP (Duplication Factor)  168
REAL4, REAL8, REAL10  168
TYPEDEF  168
PTR (Pointer)  169
LABEL  169
8.1.4Yordam Düzenlemede Kullanılan Sözde Komutlar  169
PROC (Procedure) / ENDP (End of procedure)  170
EXTRN  170
PUBLIC  171
8.1.5Makro Düzenlemede Kullanılan Sözde Komutlar  171
MACRO (Macro) / ENDM (End of macro)  171
INCLUDE  171
LOCAL  172
EXITM  172
8.1.6Diğer Sözde Komutlar  172
LENGTH  172
TYPE  173
SIZE  173
OFFSET  173
SEG (Segment )  173
REPT (Repetition)  174
IRP (Indefinite Repeat)  174
IRPC (Indefinite Repeat Character)  174
END  174
8.2Koşullu Sözde Komutlar  175
IF  175
IFE  175
IF1  175
IF2  175
IFDEF  175
IFNDEF  176
IFB  176
IFNB  176
IFIDN  176
IFDIF  176
9.ASSEMBLY PROGRAM TİPLERİ  177
9.1EXE Tipindeki Assembly Programların Genel Özellikleri  177
9.1.1Örnek EXE Programlar  180
9.2COM Yapısındaki Assembly Programların Genel Özellikleri  191
9.2.1Örnek COM Programlar  194
9.3COM ve EXE Programlar Arasındaki Farklılıklar  200
10.ASSEMBLY PROGRAMIN TEMEL TAŞLARI: YORDAM VE MAKRO  203
10.1Yordam Özellikleri  203
10.1.1Kesim İçi Yordam Kullanımı  203
10.1.2Kesimler Arası Yordam Kullanımı  209
10.2Makro Özellikleri  218
10.2.1Makro Örnekleri  221
10.3Yordam ve Makro Karşılaştırılması  226
11.ANA VE ALT PROGRAMLARDAKİ KESİMLERİN BİRLEŞTİRİLMESİ  227
11.1Birleştirilmiş (Combined) Kod Kesimi Kullanımı  227
11.2Birleştirilmiş (Combined) Veri Kesimi Kullanımı  237
12.YORDAMLAR VE PARAMETRE AKTARMA YÖNTEMLERİ  247
12.1Yazmaç Üzerinden Parametre Aktarma  247
12.2Yığın Üzerinden Parametre Aktarma  247
12.3EXTRN/PUBLIC Kullanımı ile Parametre Aktarımı  253
13.SİSTEMİN ÇALIŞMAYA BAŞLAMASI (START UP)  257
13.1DOS Bellek Haritası  259
14.KESME (INTERRUPT) NEDİR? NE AMAÇLA KULLANILIR?  261
14.1Kesme Çeşitleri  264
14.1.1Dâhili Kesmeler  264
14.1.2Harici Kesmeler  264
14.1.2.1Maskelenemez Kesmeler (NMI)  265
14.1.2.2Maskelenebilir Kesmeler (INTR)  265
14.1.3Kesme Öncelikleri  265
14.1.4Kesme Oluştuğunda Yapılan İşlemler  268
14.2Vektör Tablosunun Görevi ve Komumu  269
14.2.1Vektör Tablosunda Değişiklik Neden ve Nasıl Yapılır?  269
14.2.2Interrupt Servis Programı Yazarken Nelere Dikkat Edilmelidir?  271
14.2.3Vektöre Tablosunun Eski Haline Getirilmesi  272
14.3DOS ve BIOS Ara Yüzleri  272
14.3.1BIOS (Basic Input Output System) Kesme Fonksiyonları  273
14.3.2DOS Kesme Fonksiyonları  274
15.YÜKSEK SEVİYELİ DİLLER VE ASSEMBLY BAĞLANTISI  275
15.1Turbo Pascal’dan Assembly Yordam Çağırma  275
15.2Assembly’den Turbo Pascal Yordam Çağırma  278
15.3Turbo Pascal ve Assembly Kullanımında Dikkat Edilmesi Gerekenler  282
15.4Turbo C’den Assembly Yordam Çağırılması  283
15.5Assembly’den Turbo C Yordam Çağırma  284
15.6Turbo C ve Assembly Kullanımında Dikkat Edilmesi Gerekenler  286
16.EKLER  287
16.1Çalışma Ortamının Kurulması  287
16.1.1Mevcut İşletim Sistemini Kullanmadan Çalışma Ortamının Kurulması  288
16.1.2Microsoft İşletim Sistemlerinde Çalışma Ortamının Oluşturulması  289
16.1.2.1Windows 9x  289
16.1.2.2Windows XP  290
16.1.2.3Windows 7  290
16.1.3Linux İçin Çalışma Ortamını Oluşturma  291
16.1.4Emülatör Kullanımı  292
16.2Debug Komutları  292
16.2.1R (Register-Yazmaç)  294
16.2.2D (Dump / Display – Döküm / Görüntüleme)  295
16.2.3A (Assembly)  296
16.2.4T (Trace / İzleme)  296
16.2.5U (Unassembly)  297
16.2.6E (Edit / Düzenle)  298
16.2.7F (Fill / Doldurma)  298
16.2.8C (Compare / Karşılaştırma)  299
16.2.9G (Go / Git)  300
16.2.10H (Hex Calculator / On Altılı Hesaplayıcı)  301
16.2.11L (Load / Yükle)  301
16.2.12M (Move / Aktar)  301
16.2.13P (Proceed / Devam Etmek)  301
16.2.14Q (Quit / Çıkış)  302
16.3ASCII Karakter Tablosu  302
16.4BIOS Kesme Listesi  303
16.5DOS Kesme Listesi  307
16.6Ek Örnek Kodlar  311
16.6.1Sıralı Dizide Arama  311
16.6.2Dizi İşlemleri  313
16.6.3Dizi Elemanları Üzerinden Bit İşlemleri  314
16.6.4Karekök Hesabı – SQROOT (Harici Yordam)  315
16.6.5Harici Karekök (SQROOT) Yordamını Kullanmak  316
16.6.6Klavyeden Okuma, Hesaplama ve Ekrana Yazdırma İşlemleri  317
Kaynaklar  321
Türkçe İngilizce Terimler Dizini  323
 


Ahmet Tevfik İnan ...
Ocak 2021
670.00 TL
İndirimli: 569.50 TL (%15)
Sepete Ekle
Nureddin Gökbey İnaç
Temmuz 2024
150.00 TL
Sepete Ekle
Lütfi Koray Yitmen
Temmuz 2024
230.00 TL
Sepete Ekle
Aydın Erden
Mart 2024
240.00 TL
Sepete Ekle





 

İÇİNDEKİLER
Teşekkür  5
Önsöz  7
2. Baskının Önsözü  9
Tablo Listesi  25
Kısaltmalar Dizini  29
1.ASSEMBLY DİLİNİN YERİ  33
1.1Assembly Dili Hakkındaki Yanlışlar ve Doğrular  34
1.1.1Assembly Dili Hakkındaki Yanlışlar  34
1.1.2Assembly Dili Hakkındaki Doğrular  36
1.1.3Neden 80x86 Assembly Dili?  36
2.SAYI SİSTEMLERİ  37
2.1İkili (Binary) Sayı Düzeni  37
2.2Sekizli (Octal) Sayı Düzeni  40
2.3On Altılı (Hexadecimal) Sayı Düzeni  40
3.SİSTEM ORGANİZASYONU  43
3.1FSB (Front Side Bus)  44
3.2Bellek Bağlantı Yolları  44
3.2.1SDRAM (Synchronous Dynamic Random Access Memory)  45
3.2.2DDR-SDRAM (Dual Data Rate SDRAM)  46
3.2.3DDR2-SDRAM (Dual Data Rate 2 – SDRAM)  47
3.2.1DDR3-SDRAM (Dual Data Rate 3 – SDRAM)  48
3.2.2DDR4-SDRAM (Dual Data Rate 4 – SDRAM)  49
3.2.3RDRAM (Rambus Dynamic Random Access Memory)  50
3.3Giriş/Çıkış Yolları  50
3.3.1Yüksek Hızlı Giriş/Çıkış Yolları  51
3.3.1.1Grafik Birim Bağlantısı  51
3.3.1.2İkincil Bellek Birim Bağlantısı  52
3.3.1.3Diğer Çevre Birim Bağlantıları  54
3.3.1.4IEEE 1394  54
3.3.1.5PCMCIA (Personal Computer Memory Card International Association)  55
3.3.1.6USB (Universial Serial Bus)  55
3.3.2Düşük Hızlı Giriş/Çıkış Yolları  56
3.3.2.1Paralel (Eşanlı) İskele  56
3.3.2.2Seri (Dizisel) İskele  56
4.GENEL BİLGİLER VE 80X86 AİLESİ  57
4.1Ana İşlemciler  57
4.2Matematik İşlemciler  62
4.3Kişisel Bilgisayarlarda Bellek Kullanımı ve Büyüklüğü  67
4.3.1Genişletilmiş (Expanded) Bellek  68
4.3.2Uzatılmış (Extended) Bellek  68
4.48086 İşlemcisinin İçyapısı  70
4.5Kesim (Segment) Yapısı  70
4.5.1Kod (Code) Kesimi  71
4.5.2Yığın (Stack) Kesimi  72
4.5.3Veri (Data) Kesimi  73
4.5.4Ek (Extra) Kesim  73
4.6Yazmaç (Register)  73
4.6.1Veri Grubu Yazmaçları  73
4.6.1.1AX: Accumulator  74
4.6.1.2BX: Base Register  74
4.6.1.3CX: Count Register  74
4.6.1.4DX: Data Register  75
4.6.2İşaret Grubu Yazmaçları  75
4.6.2.1SP: Stack Pointer  75
4.6.2.2BP: Base Pointer  75
4.6.2.3IP: Instruction Pointer  75
4.6.3Sıra Grubu Yazmaçları  76
4.6.3.1SI: Source Index  76
4.6.3.2DI: Destination Index  76
4.6.4Kesim Grubu Yazmaçları  76
4.7Bayraklar (Flags)  77
4.7.1CF: Carry Flag  77
4.7.2PF: Parity Flag  77
4.7.3AF: Auxilary Carry Flag  77
4.7.4ZF: Zero Flag  77
4.7.5SF: Sign Flag  77
4.7.6TF: Trap Flag  78
4.7.7IF: Interrupt Flag  78
4.7.8DF: Direction Flag  78
4.7.9OF: Overflow Flag  78
4.816 / 32 Bitlik İşlemciler Arasındaki Farklılıklar  78
4.8.132 Bitlik İşlemcideki Diğer Bayraklar  80
4.8.1.1AC: Alignment Check  80
4.8.1.2VM: Virtual 8086 Mode  80
4.8.1.3RF: Resume Flag  80
4.8.1.4NT: Nested Task  80
4.8.1.5IOPL: I/O - Privilege Level  80
4.8.2Kontrol Yazmaçları  81
4.8.2.1CR0: Control Register 0  81
4.8.2.2CR1: Control Register 1  82
4.8.2.3CR2: Control Register 2  82
4.8.2.4CR3: Control Register 3  82
4.8.2.5Debug ve Test Yazmaçları  82
4.964 Bit İşlemci Yazmaçları  82
4.10Belleğe Erişim  83
4.10.1Gerçek Kipte Fiziksel Adres Hesabı  84
4.10.2Korumalı Kipte Fiziksel Adres Hesabı  85
4.10.2.116 Bit Korumalı Kip  85
4.10.2.232 Bit Korumalı Kip  85
4.10.2.3Sanal (Virtual) 8086 Kipi  86
4.11Çalışma Kipleri Arasındaki Farklar  86
4.12İşletim Sistemleri Açısında Çalışma Kipleri  87
4.13İşlemcinin Komutları Adım Adım Çalıştırması  87
5.80X86 KOMUTLARI (MNEMONIC) VE KOMUT YAPISI  89
5.1Veri Aktarım Komutları  90
MOV  91
MOVSX  92
MOVZX  92
LEA  93
LDS  93
LES  94
XCHG  94
XLAT / XLATB  95
5.2Aritmetik Komutlar  95
ADD  95
ADC  96
XADD  96
SUB  96
SBB  97
INC  97
DEC  97
NEG  98
CMP  98
CMPXCHG  99
MUL  99
IMUL  100
DIV  100
IDIV  101
5.3Dallanma Komutları  101
5.3.1Koşullu Dallanma Komutları  101
5.3.1.1Basit Koşullu Dallanma Komutları  102
JZ / JE  102
JNZ / JNE  102
JS  102
JNS  103
JO  103
JNO  103
JP / JPE  103
JNP / JPO  103
5.3.1.2İşaretsiz Sayı İşlemlerine Ait Koşullu Dallanma Komutları  103
JB / JNAE / JC  104
JA / JNBE  104
JAE / JNB / JNC  104
JBE / JNA  104
5.3.1.3İşaretli Sayı İşlemlerine Ait Koşullu Dallanma Komutları  105
JL / JNGE  105
JNL / JGE  105
JLE / JNG  105
JG / JNLE  105
5.3.2Koşulsuz Dallanma Komutları  106
JMP  106
JMP FAR PTR  107
5.3.3Çağırma Komutları  108
CALL  109
CALL FAR PTR  109
INT  110
INTO  110
5.3.4Dönüş Komutları  110
RET  111
RETF  111
IRET  112
5.4Döngü Komutları  112
LOOP  112
LOOPZ / LOOPE  113
LOOPNZ / LOOPNE  113
JCXZ  113
5.5Bayraklar ile İlgili Komutlar  119
CLC  119
CMC  119
STC  120
CLD  120
STD  120
STI  120
CLI  121
LAHF  121
SAHF  121
5.6Mantıksal Komutlar  121
NOT  122
OR  122
AND  122
XOR  123
TEST  123
SETxxx  124
BT  124
BTC  125
BTR  125
BTS  126
5.7Öteleme ve Döndürme Komutları  126
SHL  127
SHLD  127
SAL  128
SHR  128
SHRD  128
SAR  129
RCL  129
RCR  130
ROL  130
ROR  131
5.8Dizgi (String) Komutları  131
MOVSB  132
MOVSW  132
MOVSD  133
CMPSB  133
CMPSW  133
CMPSD  134
SCASB  134
SCASW  135
SCASD  135
LODSB  135
LODSW  136
LODSD  136
STOSB  136
STOSW  137
STOSD  137
CBW  137
CWD  138
CWDE  138
CDQ  138
BSWAP  138
5.9Ön Ekler  139
REP  139
REPE / REPZ  139
REPNE / REPNZ  140
LOCK  140
5.10Yığın Komutları  140
POP  141
POPA  141
POPAD  142
POPF  142
POPFD  142
PUSH  143
PUSHA  143
PUSHAD  144
PUSHF  144
PUSHFD  144
5.11Giriş/Çıkış Komutları  145
IN  145
INSB  145
INSW  146
INSD  146
OUT  146
OUTSB  147
OUTSW  147
OUTSD  147
5.12Durdurma ve Bekletme Komutları  147
HLT  148
NOP  148
WAIT  148
5.13BCD Düzenleme İçin Kullanılan Komutlar  148
AAA  149
AAD  150
AAM  150
AAS  151
DAA  151
DAS  152
5.14Diğer Komutlar  152
6.80X86 AİLESİNDE ADRESLEME KİPLERİ  153
6.1Anlık (Immediate) Adresleme  153
6.2Yazmaç (Register) Adresleme  153
6.3Doğrudan (Direct) Adresleme  153
6.4Yazmaç Dolaylı (Register Indirect) Adresleme  154
6.5Baz Göreli (Base Relative) Adresleme  154
6.6Doğrudan İndisli (Direct Index) Adresleme  155
6.7Dizgi (String) Adresleme  157
6.8İskele (Port) Adresleme  158
6.8.1Doğrudan İskele Adresleme  158
6.8.2Dolaylı İskeleme Adresleme  158
7.ASSEMBLY DİLİNDE PROGRAM YAZMAK İÇİN NELER GEREKLİDİR?  159
8.SÖZDE (PSEUDO) KOMUTLAR/İŞLEMLER  163
8.1Genel Amaçlı Sözde Komutlar  163
8.1.1Dosya Düzenlemede Kullanılan Sözde Komutlar  163
PAGE  163
TITLE  163
8.1.2Kesim Düzenlemede Kullanılan Sözde Komutlar  164
SEGMENT / ENDS  164
ORG (Origine)  165
ASSUME  165
8.1.3Veri Tanımlamada Kullanılan Sözde Komutlar  166
DB (Define Byte)  166
DW (Define Word)  166
DD (Define Doubleword)  167
DQ (Define Quadword)  167
DT (Define Ten Bytes)  167
EQU (Equal)  167
DUP (Duplication Factor)  168
REAL4, REAL8, REAL10  168
TYPEDEF  168
PTR (Pointer)  169
LABEL  169
8.1.4Yordam Düzenlemede Kullanılan Sözde Komutlar  169
PROC (Procedure) / ENDP (End of procedure)  170
EXTRN  170
PUBLIC  171
8.1.5Makro Düzenlemede Kullanılan Sözde Komutlar  171
MACRO (Macro) / ENDM (End of macro)  171
INCLUDE  171
LOCAL  172
EXITM  172
8.1.6Diğer Sözde Komutlar  172
LENGTH  172
TYPE  173
SIZE  173
OFFSET  173
SEG (Segment )  173
REPT (Repetition)  174
IRP (Indefinite Repeat)  174
IRPC (Indefinite Repeat Character)  174
END  174
8.2Koşullu Sözde Komutlar  175
IF  175
IFE  175
IF1  175
IF2  175
IFDEF  175
IFNDEF  176
IFB  176
IFNB  176
IFIDN  176
IFDIF  176
9.ASSEMBLY PROGRAM TİPLERİ  177
9.1EXE Tipindeki Assembly Programların Genel Özellikleri  177
9.1.1Örnek EXE Programlar  180
9.2COM Yapısındaki Assembly Programların Genel Özellikleri  191
9.2.1Örnek COM Programlar  194
9.3COM ve EXE Programlar Arasındaki Farklılıklar  200
10.ASSEMBLY PROGRAMIN TEMEL TAŞLARI: YORDAM VE MAKRO  203
10.1Yordam Özellikleri  203
10.1.1Kesim İçi Yordam Kullanımı  203
10.1.2Kesimler Arası Yordam Kullanımı  209
10.2Makro Özellikleri  218
10.2.1Makro Örnekleri  221
10.3Yordam ve Makro Karşılaştırılması  226
11.ANA VE ALT PROGRAMLARDAKİ KESİMLERİN BİRLEŞTİRİLMESİ  227
11.1Birleştirilmiş (Combined) Kod Kesimi Kullanımı  227
11.2Birleştirilmiş (Combined) Veri Kesimi Kullanımı  237
12.YORDAMLAR VE PARAMETRE AKTARMA YÖNTEMLERİ  247
12.1Yazmaç Üzerinden Parametre Aktarma  247
12.2Yığın Üzerinden Parametre Aktarma  247
12.3EXTRN/PUBLIC Kullanımı ile Parametre Aktarımı  253
13.SİSTEMİN ÇALIŞMAYA BAŞLAMASI (START UP)  257
13.1DOS Bellek Haritası  259
14.KESME (INTERRUPT) NEDİR? NE AMAÇLA KULLANILIR?  261
14.1Kesme Çeşitleri  264
14.1.1Dâhili Kesmeler  264
14.1.2Harici Kesmeler  264
14.1.2.1Maskelenemez Kesmeler (NMI)  265
14.1.2.2Maskelenebilir Kesmeler (INTR)  265
14.1.3Kesme Öncelikleri  265
14.1.4Kesme Oluştuğunda Yapılan İşlemler  268
14.2Vektör Tablosunun Görevi ve Komumu  269
14.2.1Vektör Tablosunda Değişiklik Neden ve Nasıl Yapılır?  269
14.2.2Interrupt Servis Programı Yazarken Nelere Dikkat Edilmelidir?  271
14.2.3Vektöre Tablosunun Eski Haline Getirilmesi  272
14.3DOS ve BIOS Ara Yüzleri  272
14.3.1BIOS (Basic Input Output System) Kesme Fonksiyonları  273
14.3.2DOS Kesme Fonksiyonları  274
15.YÜKSEK SEVİYELİ DİLLER VE ASSEMBLY BAĞLANTISI  275
15.1Turbo Pascal’dan Assembly Yordam Çağırma  275
15.2Assembly’den Turbo Pascal Yordam Çağırma  278
15.3Turbo Pascal ve Assembly Kullanımında Dikkat Edilmesi Gerekenler  282
15.4Turbo C’den Assembly Yordam Çağırılması  283
15.5Assembly’den Turbo C Yordam Çağırma  284
15.6Turbo C ve Assembly Kullanımında Dikkat Edilmesi Gerekenler  286
16.EKLER  287
16.1Çalışma Ortamının Kurulması  287
16.1.1Mevcut İşletim Sistemini Kullanmadan Çalışma Ortamının Kurulması  288
16.1.2Microsoft İşletim Sistemlerinde Çalışma Ortamının Oluşturulması  289
16.1.2.1Windows 9x  289
16.1.2.2Windows XP  290
16.1.2.3Windows 7  290
16.1.3Linux İçin Çalışma Ortamını Oluşturma  291
16.1.4Emülatör Kullanımı  292
16.2Debug Komutları  292
16.2.1R (Register-Yazmaç)  294
16.2.2D (Dump / Display – Döküm / Görüntüleme)  295
16.2.3A (Assembly)  296
16.2.4T (Trace / İzleme)  296
16.2.5U (Unassembly)  297
16.2.6E (Edit / Düzenle)  298
16.2.7F (Fill / Doldurma)  298
16.2.8C (Compare / Karşılaştırma)  299
16.2.9G (Go / Git)  300
16.2.10H (Hex Calculator / On Altılı Hesaplayıcı)  301
16.2.11L (Load / Yükle)  301
16.2.12M (Move / Aktar)  301
16.2.13P (Proceed / Devam Etmek)  301
16.2.14Q (Quit / Çıkış)  302
16.3ASCII Karakter Tablosu  302
16.4BIOS Kesme Listesi  303
16.5DOS Kesme Listesi  307
16.6Ek Örnek Kodlar  311
16.6.1Sıralı Dizide Arama  311
16.6.2Dizi İşlemleri  313
16.6.3Dizi Elemanları Üzerinden Bit İşlemleri  314
16.6.4Karekök Hesabı – SQROOT (Harici Yordam)  315
16.6.5Harici Karekök (SQROOT) Yordamını Kullanmak  316
16.6.6Klavyeden Okuma, Hesaplama ve Ekrana Yazdırma İşlemleri  317
Kaynaklar  321
Türkçe İngilizce Terimler Dizini  323
 


 
Kitap
Bülten
Kitap
Kitap
İndirimli Kitaplar
 
 
Ana Sayfa | 2021 Kaynakça Dokümanı | Hakkımızda | Bülten | Kişisel Verilerin Korunması | Yardım | İletişim

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