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

Bayrak Laboratuvarı

← Bölüm 6

Bayrak Laboratuvarı

Amaç: 8086'nın aritmetik komutlarından sonra altı durum bayrağının (CF, PF, AF, ZF, SF, OF) neden 0 ya da 1 olduğunu bit düzeyinde görmek.

Nasıl kullanılır?

  1. Komutu ve boyutu (8 bit: AL, 16 bit: AX) seçin; işlenenleri onaltılık (0C8h), ikili (11001000b) ya da onluk (200, -56) yazıp Uygula'ya basın.
  2. CF (komuttan önce): ADC ve SBB bu değeri elde/ödünç girişi olarak kullanır; INC ve DEC CF'yi değiştirmediği için bu değer aynen kalır.
  3. Adım ▶ (ya da →) sütunları sağdan sola tek tek hesaplar; üstteki satır her bite giren elde (ya da ödünç) bitidir. Ardından her bayrak gerekçesiyle açılır.
  4. Kendini dene: bitler hesaplandıktan sonra altı bayrağı tahmin edin; doğru ve yanlışlar sayılır.

Kurallar

  • CF: en anlamlı bitten dışarı elde (toplama) ya da ödünç (çıkarma). İşaretsiz yorumda sonuç aralığa sığmadı demektir.
  • OF: en anlamlı bite giren elde ile çıkan elde farklı. İşaretli yorumda sonuç aralığa (8 bit: −128…127, 16 bit: −32768…32767) sığmadı demektir.
  • AF: bit 3'ten bit 4'e elde ya da ödünç. SF: sonucun en anlamlı biti. ZF: sonuç sıfır. PF: sonucun düşük baytında çift sayıda 1.
  • SUB, SBB, CMP, DEC ve NEG çıkarmadır: hedef − kaynak (NEG için 0 − işlenen). CMP sonucu saklamaz, yalnızca bayrakları ayarlar.
  • INC ve DEC CF'ye dokunmaz. NEG'de CF, işlenen sıfır değilse 1 olur.

Gösterilen bütün sonuçlar 8086 bayrak kurallarına göre hesaplanır ve bir 8086 yorumlayıcısıyla karşılaştırılarak sınanmıştır.

İlgili sunum: Bölüm 6 · Aritmetik ve Mantık Komutları (Bayraklar Tablosu, CF mi OF mi?, ADD ile Bayraklar Adım Adım, INC, DEC, NOT, NEG).