Bölüm 2 · Simülatör

Yazmaç Gezgini

← Bölüm 2
Genel amaçlı yazmaçlar · AX = AH : AL
İşaretçi ve indis yazmaçları
Kesim yazmaçları ve komut işaretçisi
Bayrak yazmacı (FLAGS)
    Doğru 0 / 0

    Yazmaç Gezgini

    Amaç: 8086'nın yazmaç kümesini tek ekranda görmek: genel amaçlı yazmaçların 16 ve 8 bitlik kullanımı, işaretçi, indis ve kesim yazmaçları, komut işaretçisi (IP) ve bayrak yazmacının bitleri.

    Nasıl kullanılır?

    • Bir program seçip Adım ▶ ile komutları tek tek çalıştırın (klavyede → ve ←). Değişen bayt ya da yazmaç turuncu çerçeveyle, değişen bitler alt çizgiyle gösterilir.
    • Kutuya kendi komutunuzu yazıp Çalıştır'a basın: komut, o anki adımın ardına eklenir ve çalıştırılır. Desteklenen komutlar: MOV, XCHG, ADD, SUB, CMP, INC, DEC, NEG, CLC, STC, CMC, CLD, STD, CLI, STI. İşlenenler yazmaç ya da anlık değerdir (bellek işleneni yoktur).
    • Sayılar: 1234h (harfle başlayan onaltılık sayının başına 0: 0FFh), 1010b, 65, -1, 'A'.
    • Kendini dene açıkken her komuttan önce hedef yazmacın yeni değeri (CMP'de ZF) sorulur.

    Hatırlatma

    • AX, BX, CX ve DX'in yüksek ve düşük baytları ayrı yazmaç gibi kullanılır: AX = AH : AL. AL'ye yazmak AH'yi değiştirmez; AX'e yazmak ikisini birden değiştirir. MOV DL, -1 yalnız DL'yi FFh yapar, işaret genişletme yapılmaz.
    • SP, BP, SI, DI, kesim yazmaçları ve IP yalnız 16 bitlik kullanılır. Kesim yazmacına anlık değer ya da başka bir kesim yazmacı doğrudan aktarılamaz, CS hedef olamaz; IP hiçbir komutta işlenen olarak yazılamaz.
    • Bayrak yazmacında kullanılan bitler: OF (11), DF (10), IF (9), TF (8), SF (7), ZF (6), AF (4), PF (2), CF (0). 8086'da 15–12. bitler ve 1. bit hep 1, 5. ve 3. bitler hep 0 okunur (kesik çizgili kutular).
    • MOV ve XCHG bayrakları değiştirmez. INC ve DEC CF'yi değiştirmez. NEG'de işlenen sıfır değilse CF = 1 olur. PF yalnız sonucun düşük baytındaki 1'lerin sayısına bakar (çiftse 1).
    • IP her komuttan sonra komutun bayt uzunluğu kadar artar (ör. MOV AX, 1234h 3 bayt, MOV AL, 5 2 bayt, INC CX 1 bayt). Geçersiz komut çalıştırılmaz, yazmaçlar değişmez. Başlangıç değerleri (CS = DS = ES = SS = 0700h, IP = 0100h, SP = FFFEh, IF = 1, diğer bayraklar 0) bir .COM programının başlangıcına benzer.

    İlgili sunum: Bölüm 2 · 8086 Yazmaçlar (AX = AH : AL, İşaretçi ve İndis Yazmaçları, Kesim Yazmaçları ve IP, Bayrak Yazmacı, Geçersiz İşlenen Bileşimleri).