1 Ağustos 1989 Tarihli Commodore Gazetesi Sayfa 46

1 Ağustos 1989 tarihli Commodore Gazetesi Sayfa 46
Metin içeriği (otomatik olarak oluşturulmuştur)

virme) işlemine geçmektedirler. Bazı Assembler'larda her satıra (Basic'teki REM komutuna benzer şekilde) bir yorum sözcüğü ilave edilebilmekte- dir. Ayrıca istenen satırlara (Label) veya program bölümlerine (Makro) isim verme O da vardır. Tüm bunlar kullanıcının üzerindeki yükü hafifletmek için geliştirilmiştir. Biz burada başlangıçta bu tür lüks As- sembler'lar kullanmayacağız. l=ıır nasıl Assembler'da program yazarken bilgisayarın iç dünyası ile çok yakın ilişki kuracağımız için cihazımızın iş- leyişini bilmemiz gerekmektedir. Bu- nun için (Resim 1'e bakın.) Burada öncelikle tüm işlemleri yönlendiren mikroişlemci yer almak- tadır ve yollarla bilgisayarın diğer bö- lümlerine bağlanmış durumdadır. Bu bağlantılar ““Bus” diye adlandırıl- maktadır. En altta mikroişlemci ta- rafından oluşturulan, verileri geldiği ve gideceği yerleri içeren 16 Bit'lik ad- resleri (örneğin Sefdd) taşıyan Adress-Buss'u görmektesiniz. İşlemcinin sol tarafında değişik senkronizasyon işlemlerini gerçekleş- tirilen “Kumanda Bus”'unu görmek- tesiniz. Sağ tarafta ise ROM (Read Önly Memory) yer almaktadır. Bura- dan sadece okuma işlemleri yapılabil- diği için ““Data-Bus''a doğru tek yön- lü bir ok gösterilmiştir. Çift yönlü ok ise RAM (Random Access Memory) üzerinde bulunmaktadır, zira burada hem okuma hem de yazma işlemleri yapılabilmekiedir. En sağda ise bil- gisayarın diğer ünitelerle iletişim kur- masını sağlayan giriş/çıkış birimini görmektesiniz. Nikroişlemcinin iç dünyası: Mikroişlemcinin iç yapısı aslında burada birkaç satırda anlatılamaya- cak kadar ktır, fakat bize bu kadar derin bilgi gerekli değildir. Resim 2'de herşey basit bir şema halinde gösterilmiştir. Bir mikroiş- lemcinin kalbi ALU (Arithmetik Lo- sıcal Unit) diye adlandırılan mantık- sal elemandır. Bu ALU akkumulator veya Data-Bus'undan aldığı veriler- le hesap işlemlerini gerçekleştirir ve sonucu tekrar akkumulator( — birşeyi toplayan, biriktiren)'a bildirmekte- dir. Bu akkumulator veya kısaca ak- ku ile oldukça sık karşılaşacağız, zi- ra birçok veri okuma, yazma ve taşı- 46 Basic'te halledilmesi imkânsız olan programlar Assembler'in çok yönlü kullanımı ile mümkün olmaktadır. ma işlemleri bu register'le yürütül- mektedir. X ve Y Index-Registerinde ne olduğu gibi akku'nunda alabilece- ği en büyük değer 255 (ikilik sistem- de lil1 1ili)'dir. Resmin en sağ tarafında P diye ad- landırılan mikroişlemci statü registe- rini (Processor Status Register) gör- mekteyiz. Bu register diğerlerinden çok farklı bir işleve sahiptir. Statü re- gisterini (sicilini) oluşturan 8 Bit'ten her biri mikroişlemcinin o anki du- rumunun çeşitli yönlerini gösteren bir evet/hayır göstergesi (Flag) olarak kullanılır. Buradan örneğin yapılan bir işlemin sonucunun negatif olup olmadığı, programın kesintiye uğra- yıp uğramadığı vs. öğrenilebilir. C-64'ün belleğinde mikroişlemci- nin doğrudan kullanabildiği 256 bayt uzunluğunda özel bir bölüm vardır ve burası “stack”' diye adlandırılır. Yi- ne oldukça sık kullanacağımız ““Stack Pointer”' bize yukarıda anlatılan özel bölumdel:ı ilk boş yerleşim adresini gösteri Son regısterimız ise “Program Co- unter”'dir. Bu register iki tane 8-Bit isterden ol tadır ve bu şekil- de 65535 bayt erişilebilir. Program Counter (program sayacı) bir sonra işlenecek olan makina dili komutu- nun adresini içerir. Bilgisayarımızın iç dünyası hakkın- da gerekli bilgileri aldıktan sonra As- sembler programlarında kullanacağı- mız S-MON'a değinebiliriz. S-MON'u çalıştırdığımızda karşı- mıza ilk önce aşağıdaki gibi bir regis- ter göstergesi çıkacaktır: PC-E147 IRO-EA3I NV-BDIZC-10110000 AC-00O PC her seferinde bir sonra ele alı- nacak komutu gösterir (burada $E147). IRO ise bize Interrupt vek- törünün adresini verir. Bu adres 788. ve 789 registerlerden de öğrenilebilir. Bir sonraki 8 haneli değer ise statü re- gisterinin 8 Bit'ini yani flag'larını bil- dirir. AC akumulator'un o an içerdiği değeri göstermektedir. Aynı şekilde XR X-rcgıstetım YR ise Y-registerini içeri Bu ay makina dilinde ilk adımları atabilmek için gerekli temel bilgileri ele aldık. Gelecek ay değişik adresle- me yöntemlerini görüp ilk Assemb- ler programlarımızı yazacağız. Bu aylık hoşçakalın.

Bu sayıdan diğer sayfalar: