3.... Ekran 4'den sonra gelen cihazlar Serial Bus'a aittirler: Yazıcı 8.... Disket sürücü Yukarıdaki listede yeralan ikincil adres kullanılan cihaza özel bir sayı- dır. Bu sayıyı cihazınızın el kitabın- dan öğrenebilirsiniz (Özellikle farklı marka yazıcılarda çok önemlidir). Eğer ikincil adres kullanmak istemi- yorsanız Y-registerine $FF değerini verin, Bu rutinin kullanımı akümü- latöre ve registerlere uygun değerleri verdikten sonra JSR $FFBA ile ger- çekleşir. İsim: SETNAM Amaç: Dosya adının belirtilmesi Adres: $FFBD, desimal 65469 Hazırlık: İsmin uzunluğu akümü- latöre, ismin adresinin alçak baytı X- Registerine, yüksek baytı Y- registerine Hata: Yok Register: Akümülatör, X- ve Y- registerleri OÖPEN ile açılacak olan dosyanın isminin yeraldığı adres alçak ve yük- sek baytlar şeklinde iki registere yük- lenir. Eğer dosyaya herhangi bir isim verilmeyecekse isim uzunluğu olarak akümülatöre O değeri verilir. Bu şekilde $FFD2 rutinini kullana- rak printer çıktısı almak için gerekli tüm şartları sağlamış olduk, fakat $FFD2 işlem sonunda doösyayı ve çı- kış kanalını kapatmamaktadır. Açık kalan kanallar printerin daha sonra- ki kullanımında sorun yaratacağı için iki kernal rutinine daha ihtiyaç duya- cağız. CLRCHN sgiriş-çıkış kanalla- rını çıkış konumuna getirirken CLO- SE ise açık bir dosyayı kapatmakta- dır. İsim: CLRCHN Amaç: Giriş-Çıkış kanallarının çı- kış konumuna getirilmesi Adres: $EFCC, desimal 65484 Hazırlık: Yok Hata: Yok Register: Akümülatör, X-Register Bu rutinin kullanımı için JSR $FFCC satırı yeterlidir. İsim: CLOSE Amaç: Bir dosyanın kapatılması Adres: $FFC3, desimal 65475 Hazırlık: Dosya numarası akümü- latöre yüklenir. Hata: 0 Register: Akümülatör, X- ve Y- registerleri 46 Şimdi yazıcıdan çıktı almamızı sağ- layacak programa geçebiliriz. Gerekli tüm aşamalar en basir şekliyle Resim 2'de yeralmaktadır. Önce SETNAM rutinini kullanacağız: SETNAM y SETLFS y OÖOPEN Y CHKOUT y CHROUT Y CLRCOHN y Ku L l l l Kt L ——— 601CLDA $00 GÜLE JSR $FFBD 6021 BCS $6053 Bu son satırda BCS ile Carrv Bit'i kontrol edilmekte ve hata olduğu tak- dirde $6053 adresine atlanmaktadır. Akümülatörde sıfır değeri olduğu için dosyamız isimsiz olacaktır. Bundan sonra SETLFES gelmektedir. — 6023 LDA — $04 6025 LDX — $04 6027 LDY SFF 6029 JSR $FFBA 602C BCS $6053 Bu aşamada 4 Nao.'lu cihaz (yazı- cı) üzerinden 4 No. 'lu bir dosya açıl- miştir ve herhangi bir ikincil adres kullanılmamıştır. En sondaki BCS ise yine hata kontrolü yapmaktadır. Şimdi ÖPEN ruütini: GÖZE JSR $FFECO 6031 BCS $6053 CHKOUT ile çıkış kanalı belirtilir. 6033 LDX $04 6035 JSR $FFC9 6038 BCS $6053 Bu şekilde tüm hazırlıklar tamam- lanmış oluyor. Metnin yazıcıya gön- derilmesi ilk programda olduğu gibi CHROUT ile gerçekleşir: SOZA LDY . $00 603C LDA $6000, Y 603F BEO $604A 6041 JİSR S$FFD2 6044 BCS $6053 6044 INY 6047 JMP $603€ Bütün harfler basıldıktan sonra CLRCHN rutinini çağrıyoruz. SÜ4A JİSR $SFFCC Son olarak da CLOSE: 604DLDA $ü4 604F JSR $FFC3 6052 RTS Böylelikle 4 No.'lu dosya kapatıl- mış oluyor. Programımızın son satı- rı şu şekilde olmalıdır. 6053 BRK Herhangi bir hata ile karşılaşıldı- ğında program bu satıra atlamakta ve BRK ile karşılaştığında durmaktadır. Bu aylık hoşçakalın....