Commodore sayı 37, sayfa 57

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 57

bilirsiniz. Makine dili programları, grafik karakterleri veya sprite'lar için 4K ayırmak için direkt moddan şu rutini kullanın:

POKE 51.0:POKE 52,144:POKE 55,0:POKE 56,144:CLR

Bu komutlarla 36864-40960 ($9000-$9FFF) adresleri arasında kalan 4K'lık bölgeyi BASIC'ten ayırmış olursunuz.

POKE 51,0:POKE 52,160:POKE 55,0:POKE 56,160:CLR

Makineyi normal hale döndürür.

CURLIN 0039-003A - 57-58

En son girilen BASIC satır numarası.

OLDLIN 003B-003C - 59-60

Bir önceki BASIC satır numarası. Bu adreslerin belirttikleri satırları aşağıdaki komutla görebilirsiniz:

PRINT PEEK(57) + 256 * PEEK(58)

OLDTXT 003D-003E - 61-62

Bu adreslerde, BASIC program STOP komutu ile durdurulduğunda daha sonra BASIC kodun devam edeceği adres saklanır ve CONT komutu tarafından kullanılır. Eğer bellekte bir program yoksa bu adres BASIC'in başlangıcını (2048) gösterir.

DATLIN 003F-0040 - 63-64

DATA satırı numarası. Bu adresler bir program içinde yer alan ilk ya da o anda okunmakta olan DATA ifadesinin satır numarasını saklarlar. Bu programı çalıştırdığınızda o anki data satırı olarak 600 sayısını verecektir. Bunun gibi bir rutin kullanarak zaman zaman uzun data satırlarına sahip programları READ komutu ile okuttuğunuzda ortaya çıkan OUT OF DATA ERROR? gibi hataları düzeltmeniz kolaylaşacaktır, çünkü en son hangi satırda kaldığınızı ve bütün DATA ifadelerinizin okunup okunmadığını bu şekilde anlayabilirsiniz. DATPTR 0041-0042 - 65-66

Pointer: O anki DATA parçasının adresi. Eğer hiçbir DATA ifadesine rastlanmamışsa, bu adres 2048 olur.

PROGRAM ADI 1 PRG-2

00100 DIM 00200 FOR TO 3 0863986 READ INZCI) 06468 NEXT

©0600 DATA 1,2,3

60500 PRINT

<043> <a45> <156> <158)>

Her değişik DATA parçası bellekte değişik uzunluklarda saklanırlar. Tamsayılar 2 bayt, karakterler ve floating-point sayılar 4 bayt olarak saklanırlar.

INPPTR 0043-0044 - 67-68

Sistem INPUT buffer'ın bulunduğu yer (512-600 adresleri arasında kalan 78 bayt'lık bölge) bu adreslerde gösterilir. Bu bölgenin uzunluğunu değiştirmek için bu adreslere POKE yapmak mümkün değildir. Buffer'a saklayabileceğinden daha fazla bilgi koyarsanız ilk 78 karakter kaybolur.

VARNAM 0045-0046 - 69-70 O anki BASIC değişken ismi. Eğer değişkenin ismi tek harften oluşuyorsa, ilk adres ismin ASCII değerini verir, ikincisi ise 0 olur. VARPNT 0047-0048 - 71-72 Pointer: O anki BASIC değişken bilgileri. Normalde 2084'te bulunan —

BASIC değişken tablosunun taban adresini gösterir.

FORPNT 0049-004A - 73-74

Pointer: FOR/NEXT döngüleri için indeks değişkeni.

004B-0060 - 75-96

Geçici pointer/bilgi bölgesi. Bu 16 adreslik alan KERNAL ROM'da saklanan floating-point aritmetik rutinlerin yeridir. BASIC içinde kullanılabildikleri gibi assembly dili programcılarının iki sayı (akümülatör #1 ve #2) üzerinde aritmetik işlemler yapabilmelerine olanak tanırlar. Ayrıca bu adresler BASIC'ten çağırılan makine dili altrutinleri için de oldukça kullanışlıdırlar. Burada makine dili ile ilgili fazla detaya girmeden adresleri incelemeye devam ediyoruz.

FACEXP 0061 97 ver akümülatör 4 1: is.

FACHO 0062-0065 - 98-101 Floating akümülatör # 1: Mantis. FACSGN 0066 102 Floating akümülatör # 1: İşaret. SGNLG 0067 103

Pointer: Seri değerlendirme değişmezi.

BITS 0068 104 Floating akümülatör # 1: Taşma (overflow) hanesi. ARGEXP 0069 105 Floating akümülatör # 2: İşaret.

ARGHO,

006A-006D 106-109 Floating akümülatör # 2: Mantis ARGSGN 006E 110

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