Bölüm 9 · SimülatörPort ile Aygıt Kontrolü: IN, OUT ve Maskeler? ← Bölüm 9Aygıt Yazmaç, maske ve komutlar KapatPort ile Aygıt KontrolüAmaç: 8086'nın ayrı G/Ç adres uzayındaki portlara OUT ile veri yazıp IN ile durum okuyarak bir aygıtı denetlemek; porttaki her bitin bir lambaya, bölüte ya da mıknatısa karşılık geldiğini görmek. Veri yalnızca AL ya da AX üzerinden geçer; 255'ten büyük port numarası DX ile verilir.Tek bit nasıl değiştirilir?İşlemKomutEtkisiAçOR AX, maskemaskedeki 1 bitler 1 olur, diğerleri değişmezKapatAND AX, NOT maskemaskedeki bitler 0 olur (ör. bit 4 için 0FFEFh)DeğiştirXOR AX, maskemaskedeki bitler tersine dönerSınaTEST AL, maskeyalnız bayraklar: bit 0 ise ZF = 1Mantık komutlarından sonra CF = OF = 0; ZF, SF ve PF sonuca göre ayarlanır. Yazmacı değiştirmek aygıtı değiştirmez: lamba ancak OUT ile porta yazılınca yanar.AygıtlarTrafik lambaları (emu8086, port 4): sözcüğün bit 0–11'i 12 lamba; direk k için bit 3k kırmızı, 3k+1 sarı, 3k+2 yeşil. Direkler: 0 sağ alt, 1 sağ üst, 2 sol üst, 3 sol alt.7 bölütlü gösterge (8255 port A = 310h): gerçek donanım örneği; ortak katot, bit 0–6 = a–g, bit 7 = nokta. 8255'in önceden 80h ile (tüm portlar çıkış) programlandığı varsayılır. Port 255'ten büyük olduğu için önce MOV DX, 310h.Step motor (emu8086, port 7): aynı port okunurken durum, yazılırken veri portudur. IN AL, 7 ile bit 7 (hazır) okunur; OUT 7, AL bit 0–2 ile mıknatısları açar. Bu simülatörde her kabul edilen adımdan sonraki ilk okuma meşgul (00h), ikincisi hazır (80h) döner; meşgulken gönderilen bayt yok sayılır (adım kaçar). Gerçek programda yoklama JZ ile döngüye alınır.Nasıl kullanılır?Maske satırındaki bitlere tıklayın (ya da örnek programı Adım ▶ / Oynat ile yürütün), sonra komut düğmelerine basın. Yürütülen komutlar emu8086 sözdizimiyle listelenir.Kendini dene: verilen görevi komutlarla yapın, Kontrol'e basın. Görev yalnız istenen biti değiştirmeli, diğer lambalara dokunmamalıdır.Yazmaç ve bayrak sonuçları ortak 8086 yorumlayıcısıyla karşılaştırılarak doğrulanmıştır.İlgili sunum: Bölüm 9 · Aygıt Kontrolü (IN/OUT, trafik lambaları, step motor, 7 bölütlü gösterge).