Adresleme tipi LDA LDX LDY direkt SA9 SA SA0 absolut SAD $AEBE SAC sıfırıncı sayfa SAS SAĞ SA4 X-indeksli S&0 — S8C Y-indeksli $89 — $BE — O'ci sayfa X-indeks $85 — $B4 O'ci sayfa Y-indeks — $B6 indirekt indeksli SBI — - SA — — 2. Saklama Komutları Saklama komutları, yükleme ko- mutlarının tam tersi işlemi yaparlar. Bu komutlar yardımıyla bir register'- in içeriğini hafızanın belli bir adresi- ne yazabiliriz. Bu işi yapan komutlar şunlardır: STA STX STY larınız değişmez. Saklama komutun- dan önce ne ise, aynı şeklini korur. Aşağıdaki listede bütün komut kod- larını ve geçerli adresleme tiplerini bu- lacaksınız. Adresleme tipi STA STX STY absolut $8D $8E $S8E sıfırıncı sayfa $85 $86 $84 X-indeksli $9D - - Y-indeksli $99 — — 0. sayfa X-indeksli — $94 $95 O. sayfa Y-indeksli — indirekt indeksli $91 — —- indeksli indirekt S81 Yapılan işlemleri BASIC'te, POKE komutunu kullanarak yapacağız. Bu komut hafızadaki herhangi bir elema- na ulaşıp onun içeriğini değiştirmemizi sağlar. Adresleme tipleri elemanın ad- resini elde ederken uygulanan farklı yöntemleri gösterir. Birkaç örnek ve- relim: UeLWİEeL. Bu komutlar görüldüğü gibi akü- mülatör'ün (aynı şekilde X-register'- inin, ya da Y-register'inin) içeriğini hafızanın belli bir adresindeki eleman- da saklamamıza yarar. Kullanılabile- ceğimiz adresleme tipleri, tek eksik dı- şında, yükleme komutları ile aynıdır. Bu eksik adresleme tipi tabil ki direkt adreslemedir. Çünkü bu adresleme ti- pinde belli bir adres belirtilmemekte- dir. Saklama sırasında saklanan regis- ter'in içeriği değişmediği için (ya da ana işlem ünitesinin içinde hiçbir de- ğişiklik olmadığı için) hiçbir flag et- kilenmez. Bilhassa ilk makine dili programları yazarken çok düşülen bu hataya karşı uyaralım dedik: DİK- KAT! Sakladığınız değere göre flag- STA S&000 POKE îZTââ.A $8000 STA $C020,Y POKE 491844 YA $C020 POKE 241,Y $FI - S00F1 STY $FI Saklama komutları da yükleme ko- mutları gibi adresleme tiplerine göre 2 veya 3 Byte uzunluğunda olabilirler. Yükleme komutları için belirttiğimiz tüm kurallar aynen geçerlidir. Tabii flag'ların yapılan işlemden etkilenme- diğini bir kere daha hatırlatalım. Özetlersek ilk iki bölümde ana iş- lem ünitesinin en önemli iki komut grubunu gördük. Bu komutlar ana iş- lem ünitesinin, bilgisayarın hafıza bi- rimleri ile bilgi alış verişini sağlarlar. Bütün programlarda en yoğun kulla- nılan komut grupları bunlardır. 3. Ana İşlem Ünitesinin İçinde Bilgi Transferi Şimdiye kadar, ana işlem ünitesinin registerlerinden hafızaya; hafızadan ana işlem ünitesinin registerlerine bilgi transferinin nasıl yapılacağını gördük. Peki ana işlem ünitesinin bir registe- rinden bir diğerine bilgiyi nasıl gön- dereceğiz? Bunun için; herhalde, ön- ce hafızaya yazıp sonra hafızadan okumaktan daha kolay bir yöntem ol- mah. Evet var,. bunlar bir iki basit ve özel komuttan oluşan bir grup. Bu ko- mutlarla, mesela akümülatör'ün içe- riğini X-register'ine kopya edebilirsi- niz veya tam tersi... Burada görüldü- ğü gibi iki registerin belirlenmesi ge- rekir. Bunlardan birincisi kaynak re- gister'i (bilgi bu register'den çıkacak), diğeri de hedef register'i (bilgi bu re- gister'e ulaşacak) olacaktır. Yapılan işlem ise kaynak registeri'nin, içeriği bozulmadan, hedef register'inde bir kopyasının oluşturulmasıdır. Bütün transfer komutları bir byte uzunluktadır ve hiçbir operand'a ih- tiyaç göstermezler. Yapılacak işlem ol- dukça açık ve basittir. Bundan başka bu komutlarla yapılan bilgi transferi diğer komutlara göre çok daha hızlı yürür. Şimdi bu komutları tek tek görelim. Tabif bu arada daha anlaşılır olması açısından, aynı işi yapan BASIC'te yazılmış satırlarımızı unutmadık. TAX XA Akümülatör'ün içeriği X-register'- ine kopya edilir. Z- ve N-flag'ları et- kilenir. Akümülatör'ün içeriği değiş- mez. Bu komut yukarıdakinin tam tersi işlemi yapar. Bilgi akışının yönü de- ğiştirmiştir. X-register'inin içeriği akü- mülatör'e kopya edilir. Bu işlem sıra- sında Z- ve N-flag'ları etkilenir. Bu-