Commodore sayı 74, sayfa 17

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 17

epinize merhaba. Hatırlayacağınız gibi, ilk sayımızda bilinmesi mutlaka gerekli olan birkaç ROM adresini verdikten sonra, ROM aritmetiğinin teorisini vermeye başlamış ve geçen sayıya kadar bu konu üzerine eğilmiştik. Geçen sayıda tam sayıları ondalık sayılara çeviren rutinleri de anlattığımıza göre, ROM'da bulunan işlemlerin nasıl kullanıldığını anlatmaya sıra geldi. İlk olarak toplama, çarpma gibi basit işlemlerin adreslerini anlatmayı düşünüyorum. Daha sonra, yerimiz kalırsa, değişkenlere nasıl erişeceğimizi ve karmaşık işlemleri nasıl gerçekleştireceğimizi anlatacağım. Daha sonra değişkenlerin makine dili yardımıyla nasıl kullanılabileceğine bir göz atacağız. Eğer bu hızla devam edebilirsek, iki aya kalmadan tüm fonksiyonları makine dilinden kullanmayı öğrenebilirsiniz. Tüm bu teknik bilgilerin yanı sıra bazı örnek programlar yardımıyla bilgilerinizi pekiştirmeyi de unutmayacağız tabii ki. Artık asıl konuya girebiliriz: Temel Aritmetik İşlemler

BASIC yorumlayıcısının beş adet temel işlemi vardır: Toplama, çıkarma, çarpma, bölme ve üs alma. Bu işlemlerin her birinin iki adet argümana (elemana) ihtiyacı vardır. Temel fonksiyonlardan birini kullanacağınız zaman ilK argümanı FAC'a, ikincisi de ARG'a yerleştireniz gerekir. Fonksiyonu çağırdıktan sonra sonucu FAC'da bulabilirsiniz. Bu temel işlemlerin adresleri şöyledir:

TOPLAMA FAC:-ARG4*FAC $B86A ÇIKARMA FAC:-ARG-FAC $B853 ÇARPMA FAC:-ARG'FAC $BA2B BÖLME — FAC:-ARG/FAC ÜSALMA FAC:-ARG.FAC $BF7R

Vedat Hallaç

Bu rutinlerden herhangi birini çağırmadan önce FAC'ın üssünü ($01) A registerine (akümülatöre) yerleştirmeniz gereklidir. Eğer bu üs sıfırsa, ROM FAC'da bulunan sayının da sıfır olduğunu kabul ederek işlem yapacaktır. Bu yüzden tüm işlemlerden önce A'da ne bulunduğunu ayarlamayı unutmamalısısa, veya bölme işlemlerinizde DIVISION BY ZERO ERROR mesajı veriyorsa, A'ya doğru değeri yerleştirmediğinizi anlayabilirsiniz.

İsterseniz monitör programımızı kullanarak iki sayıyı birbiriyle çaryalım:

74132? 7583 E0 00 00 00 00 1384 DO 00 00 00 00

Yukarıdaki değerleri FAC #1 ve FAC 12'ye yerleştirin ve çapma rutinini çalıştırın:

Klavyeyle gezinmek için ← ve → tuşları.