Z80 Bayrakları

Retrojen Wiki sitesinden
22.34, 22 Ağustos 2014 tarihinde Admin (mesaj | katkılar) tarafından oluşturulmuş 8 numaralı sürüm (Yeni sayfa: "F yazmacı, yapılan işlemlerin sonuçlarını denetlemek amacıyla özel bir görev üstlenir. Bu yazmacın her bir biti ayrı bir olayın sonucunu gösterir. Örneğin Sıfır bi...")
(fark) ← Önceki sürüm | Güncel sürüm (fark) | Sonraki sürüm → (fark)
Gezinti kısmına atla Arama kısmına atla

F yazmacı, yapılan işlemlerin sonuçlarını denetlemek amacıyla özel bir görev üstlenir. Bu yazmacın her bir biti ayrı bir olayın sonucunu gösterir. Örneğin Sıfır biti yapılan son toplama ya da çıkarma işleminin sonucunun sıfır olup olmadığını gösterir.

Bazı komutlar bazrak yazmacındaki bitlerin durumlarına göre farklı işlem yaparlar. Örneğin JR Z, n komutu Z bayrağının sıfır olup olmadığına göre uygulanır. Eğer Z=1 ise n kadar göreli sıçrama yapılacaktır. Z=0 ise sıçrama yapılmaz, program bir sonraki satırdan devam eder.

F yazmacı bayrak bitleri tablosu

Bit 7 6 5 4 3 2 1 0
Flag S Z F5 H F3 P/V N C


S - İşaret Biti

(ing. Sign Flag)

F yazmacının 7 numaralı bitidir. Yapılan işlemin sonucunun negatif(-) ya da pozitif(+) olduğunu gösterir. Eğer sonuç (-) ise işaret biti 1 (set) değerini alır.

Z - Sıfır Biti

(ing. Zero Flag)

F yazmacının 6 numaralı bitidir. Son yapılan işlemin sonucunu belirtir. Sonuç sıfır ise bit 1(set) değerini alır.

C - Elde Biti

(ing. Carry Flag)

F yazmacının 0 numaralı bitidir. Toplama işleminin sonucu yazmaca kaydedilemeyecek kadar büyük olduğunda (overflow/taşma gerçekleştiğinde) ya da çıkarma işlemi sırasında soldaki basamaktan ödünç sayı alınmışsa C bayrağı 1(set) durumunu alır.

Ayrıca döndürme komutları da (örn. RLC) C bayrağını etkileyebilir. Kaydırma sırasında bir taraftan taşan bit C'ye aktarılır, ya da C'deki değer döndürme işlemini sırasında sıranın başına eklenir.

P/V - Eşlik/Taşma Biti

(ing. Parity/Overflow) Bu bit iki ayrı işleve sahiptir.

Aritmetik işlemlerde taşma olduğu sırada bu bit 1 değerini alır. AYrıca Elde, Sıfır ve İşaret bitlerindeki değişikliklerin kontrolleri de bu bite yazılır.

Mantıksal işlemlerde ise eşlik kontolü bu bite yazılır. Bir byte'taki 1(set) hanelerin sayısı tek ise bu byte'ın eşliği "Tek"dir ve eşlik bitinin değeri 0 olur, eğer 1 hanelerin sayısı çift ise bu byte "çift" eşliğe sahiptir ve eşlik biti 1 olur.

Eşlik/Taşma bitinin yapılan işlemlerden nasıl etkilendiğini görmek için lütfen Z80 Komut Tablosunu kontrol ediniz.

N - Çıkartma Biti

(ing. Subtract)

Bu bit son yapılan işlemin bir çıkartma işlemi olup olmadığını gösterir. Genellikle DAA komutunun işletilmesi sonucunda A yazmacının değerinin doğru hesaplanabilmesi için kullanılmaktadır. Eğer işlem çıkartma olarak kullanılırsa N bayrağı kaldırılır(1). Eğer toplama kullanıldıysa bu durumda bayrak sıfırlanır. ation of the contents of A.

H - Yarı-Elde Biti

(ing. Half Carry Flag)

N biti gibi H biti de DAA komutunun A yazmaç değerini hesaplamak için kullandığı bir bittir. Byte'ın ilk 4 bitlik hesabının taşması sırasında kullanılır. Eğer 3 numaralı bit 4 numaralı bite taşıyorsa, H bit'i elde biti olarak kullanılır.

3 ve 5 Numaralı Bitler

Bu bitler z80 kullanma kılavuzunda "kullanılmamaktadır" olarak dökümante edilmemiştir. Gerçekte ise bu bitler bazı hesaplamalarda hesabı yapılan yazmaçların ilgili bitlerinin kopyalarını çıkarabilir. (3, 3'ün kopyası; 5,5'in kopyası gibi)

Ayrıca Bakınız

Z80 Yazmaçları | Z80 Komut Tablosu | kategori:Z80 İşlemci Komutları | Z80 İşlemci Ana Sayfası