-
Sadrazamv4
ig:sadrazam_v4 tg: Sadrazam.spy
🚀 BAŞTAN SONA x86 ASSEMBLY BÖLÜM-3: Mantıksal İşlemler, Karşılaştırma (`CMP`) ve Koşullu Dallanma (`JMP` / `Jcc`) 💻
Selamlar! Serimizin 3. bölümüne hoş geldiniz.
Önceki bölümde `MOV`, `XCHG` veri taşıma komutlarını, `ADD`, `SUB`, `INC`, `DEC` aritmetik işlemlerini, bellek adresleme modlarını ve `EFLAGS` mantığını incelemiştik. Bu bölümde ise bitsel **Mantıksal İşlemleri**, durum bayraklarını etkileyen **`CMP` ve `TEST` komutlarını** ve akış kontrolü sağlayan **Dallanma (Jump) Talimatlarını** öğreneceğiz.
---
🧠 1. Bitsel Mantıksal İşlemler (Bitwise Operations) ⚡
Aritmetik Mantık Birimi (ALU) üzerinde iki yazmaç veya bellek hücresi arasında bit bazında mantıksal sorgulamalar yürütür:
| Komut | Açıklama | Örnek Kullanım |
| :--- | :--- | :--- |
| **`AND`** | Bitsel VE işlemi | `AND EAX, EBX` (Aynı konumdaki iki bit de 1 ise 1 yapar) |
| **`OR`** | Bitsel VEYA işlemi | `OR EAX, 0x05` (Bitlerden biri 1 ise 1 yapar) |
| **`XOR`** | Bitsel ÖZEL VEYA (Exclusive OR) | `XOR EAX, EAX` (İki bit birbirinden farklıysa 1 yapar) |
| **`NOT`** | Bitsel DEĞİL (1'e Göre Tümleyen) | `NOT EAX` (Tüm 0'ları 1, 1'leri 0 yapar) |
> 💡 **Assembly Püf Noktası:** Bir yazmacı sıfırlamak için `MOV EAX, 0` yerine `XOR EAX, EAX` kullanılır. `XOR` komutu hem daha az bayt kaplar hem de CPU tarafında daha hızlı yürütülür.
```nasm
mov eax, 0x0F ; EAX = 00001111 (Binary)
and eax, 0x03 ; EAX = 00000011 (Maskeleme yapıldı)
xor ebx, ebx ; EBX = 0 (Yazmaç en hızlı şekilde sıfır
landı)
Selamlar! Serimizin 3. bölümüne hoş geldiniz.
Önceki bölümde `MOV`, `XCHG` veri taşıma komutlarını, `ADD`, `SUB`, `INC`, `DEC` aritmetik işlemlerini, bellek adresleme modlarını ve `EFLAGS` mantığını incelemiştik. Bu bölümde ise bitsel **Mantıksal İşlemleri**, durum bayraklarını etkileyen **`CMP` ve `TEST` komutlarını** ve akış kontrolü sağlayan **Dallanma (Jump) Talimatlarını** öğreneceğiz.
---
🧠 1. Bitsel Mantıksal İşlemler (Bitwise Operations) ⚡
Aritmetik Mantık Birimi (ALU) üzerinde iki yazmaç veya bellek hücresi arasında bit bazında mantıksal sorgulamalar yürütür:
| Komut | Açıklama | Örnek Kullanım |
| :--- | :--- | :--- |
| **`AND`** | Bitsel VE işlemi | `AND EAX, EBX` (Aynı konumdaki iki bit de 1 ise 1 yapar) |
| **`OR`** | Bitsel VEYA işlemi | `OR EAX, 0x05` (Bitlerden biri 1 ise 1 yapar) |
| **`XOR`** | Bitsel ÖZEL VEYA (Exclusive OR) | `XOR EAX, EAX` (İki bit birbirinden farklıysa 1 yapar) |
| **`NOT`** | Bitsel DEĞİL (1'e Göre Tümleyen) | `NOT EAX` (Tüm 0'ları 1, 1'leri 0 yapar) |
> 💡 **Assembly Püf Noktası:** Bir yazmacı sıfırlamak için `MOV EAX, 0` yerine `XOR EAX, EAX` kullanılır. `XOR` komutu hem daha az bayt kaplar hem de CPU tarafında daha hızlı yürütülür.
```nasm
mov eax, 0x0F ; EAX = 00001111 (Binary)
and eax, 0x03 ; EAX = 00000011 (Maskeleme yapıldı)
xor ebx, ebx ; EBX = 0 (Yazmaç en hızlı şekilde sıfır
landı)
🔒 Bu içeriği görmek için giriş yapın