Durum kaydedicisi 8-bitlik bir kaydedicidir. Bu kaydedicinin her bir biti ayrı ayrı anlam ifade eder. Mikroişlemci içinde veya dışardan yapılan herhangi aritmetiksel, mantıksal veya kesmelerle ilgili işlemlerin sonucuna göre bu bitler değer değiştirir. Bir işlem sonucunda bu bitlerin aldığı değere göre program yön bulur. Programcı bu bitlerde oluşacak değerlere göre programa yön verebilir. Şekil 1.7’te 6502 mikroişlemcisine ait 1-baytlık durum kaydedicisinin bit şekli göstermektedir.
Bayrak Kaydedicisi
Kabul edilen terminolojiye uyarak, eğer bir bayrağa karşılık olan bit 1 ise söz konusu bayrak kuruldu, eğer bit 0 ise söz konusu bayrak silindi denir.
Carry (elde bayrağı-C): Elde / borç bayrağıdır. 8-bitlik bir işlem sonucunda dokuzuncu bit ortaya çıkıyorsa elde var demektir. Bu durumda C bayrağı mantıksal 1 olur. Bu bayrak biti programcı tarafından kurulur ya da silinebilir (CLC, SEC). Ayrıca bazı komutlar tarafından test edilebilir (BCC, BCS).
Zero (sıfır bayrağı-Z): Sıfır bayrağı, aritmetik ve mantık işlemi sonucunda kaydedici içeriği sıfır ise Z = 1’e kurulur. Aksi durumda sıfırlanır (Z = 0).
Interrupt disable (kesme yetkisizleştirme bayrağı-I): Mikroişlemci normal durumda komutları işlerken bir kesme (IRQ) geldiğinde bu kesme bu bayrak biti ile engellenebilir. Eğer bu bit komutlar (SEI) mantıksal 1 yapılırsa gelen kesmeler göz önüne alınmaz. Ancak bu bayrak mantıksal 0 olduğunda kesme dikkate alınır ve kesme hizmet yordamına dalınır. Yani bu bayrak biti, normal işleyiş sırasında bir kesme geldiğinde kabul edilip edilmeyeceğini belirler. Programcı bunu komutla yapar. NMI kesmesi bu bayrak için kullanılmaz.
Decimal (ondalık bayrağı-D): Bu bayrak 1 olduğunda aritmetik işlemler BCD modunda yapılırken 0 olduğunda ikilik modda yapılır. Bu işlem eğitim ve uygulama açısında programcıya büyük kolaylıklar sağlar.
Overflow (taşma bayrağı-V): Bu bayrak aritmetik işlemlerde, eğer işlem +127 ile -
128 aralığını geçiyorsa bir taşma meydana gelir ve V bayrağı 1 olur. Diğer yandan, yine benzer işlemlerde, eğer pozitif bir sayı ile negatif bir sayı üzerinde işlem yapılıyorsa ve sonuç pozitif çıkması gerekiyorken negatif çıktıysa, bu bayrak 1 olur. Taşma bayrağı işaretli sayılarla işlem yapılırken devreye girer.
Negative (negatif bayrağı-N): 8-bitlik bir işlemcide 7.bit MSB biti olarak bilinir. Eğer MSB biti bir işlem sonucunda 1 ise N bayrağı 1’e kurulur. Eğer MSB biti 0 ise kaydedicisideki değer pozitif demektir ki, N bayrağı 0 olur.
Bayraklardaki 4. bit B (Break) olarak tanımlanmış olup, program durduğunda otomatikman 1 olur. 5. bit ileride kullanılmak üzere boş (+5V) bırakılmıştır.
Farklı mikroişlemcilerde birbirine benzer bayraklar olmasına rağmen faklı bayraklarda olabilir.