Commodore sayı 36, sayfa 22

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 22

ADRES 0003-0004 = 3-4

Atlama vektörü: Floating Point sayıları bilgisayarın anlayacağı integer (ikili) sayılara dönüştürür.

ADRES 0004-0006 = 4-6

Atlama vektörü: Integer sayıları floating-point sayılara dönüştürür.

CHARAC 0007 — 7

İngilizce CHARAC olarak da bilinen bu adres karakter bulma işini yüklenmiştir. Adres tırnak işaretinin ASCII değerini taşır (34).

ENDCHR 0008 — 8

Bu adres bir flag'dır. Yazı karakterlerinin sonundaki tırnak işaretini gösterir.

TRMPOS 0009 — 9

Son TAB'dan itibaren ekran sütunu.

VERCK 000A — 10

Flag: 0 - Load, 1 - Verify. Bu adres son yapılan disk veya teyp işlemine göre bir değer alır.

COUNT 000B — 11

Semboller için Input Buffer'ın pointer'ı.

DIMFLG — 12 Flag: DIM matrisi. Bu adres DIM komutuyla en son açılan matris dizisinin ilk harf veri değerini saklar.

VALTYP 000D — 13

Bu okunan data'nın durumunu gösterir ve eğer data yazı karakterinden oluşuyorsa 255, sayı ise 0 değerini alır.

INTFLG 000E — 14

Sayıların data olarak durumunu gösterir. Integer ise 128 ve floating point ise 0 olur.

GARBFL 000F — 15

Flag: LIST komutu ve garbage collection için data tarama. Normal değeri 4'tür.

SUBFLG 0010 — 16

Flag: Sembol referansı ve kullanıcı çağrısı. Bu iki fonksiyon için adresin değeri, flag sicili olarak katlanarak artar.

INPFLG 0011 — 17

Flag: BASIC veri giriş tipleri. 0-INPUT, 64- GET, 152- READ. Bilgisayarı açtığınızda bu değer 0'dır. Giriş tipi değiştikçe değer de değişir.

TANSGN 0012 — 18

Flag: TAN sonuçları. Bu flag TAN işaretini gerçeklemek için SIN/COS bölümünün sonuçlarını kontrol eder. Normal değer 0'dır. TAN argümanı 259.1'den büyük olduğunda 255 haline gelir.

0013 — 19

Flag: INPUT komutunun soru işareti.

LINNUM 0014-0015 — 20-21

Integer değerin geçici olarak saklanması. BASIC burada hesaplamalarda kullanılan integer verilerini saklar. 3-4 ve 5-6 adreslerindeki rutinler burada saklanan sayıyı kullanırlar.

TEMPPT 0016 — 22

Pointer: geçici yazı karakteri yığını. Normal olarak TEMPST (25) adresini gösterir.

LASTPT 0017-0018 — 23-24

En son geçici yazı karakteri yığını.

TEMPST 0019-0021 — 25-33

Geçici yazı karakterleri için yığın.

INDEX 0022-0025 — 34-37

Buradaki adresler BASIC ROM'da saklanan makine dili altrutinlerinin pointer'larıdır.

RESHO 0026-002A — 38-42

Floating-point çarpımlarının sonuçlarını saklayan bu adresler çok büyük pozitif veya negatif sayıların çarpımı için Sistem ROM çarpım rutinleri tarafından kullanılırlar.

TXITAB 002B-002C — 43-44

Pointer: BASIC text'in başlangıcı. Normal değeri: $0801 (2049)

Bu iki adres BASIC programlarınızı belleğin neresinde sakladığınızı belirtir. Bu adreslerin içeriklerini değiştirerek değişik işler yapabilirsiniz. Örneğin arka arkaya değişik programlar yükleyebilir, bunları bellekte arka arkaya saklayabilirsiniz. Hazır söylemişken bunu yapalım bari. Üstelik çok işinize yarayacağına da eminim. Nasıl mı? Örneğin yazdığınız her programda belli bir rutini örneğin joystick rutini kullanıyor ve her seferinde tekrar yazmak zorunda kalıyorsanız, aşağıdaki kısa programla bu dertten kurtulabilirsiniz. Bunun için örnekte olduğu gibi joystick rutini bir kere için yazın, fakat rutinin satır numaralarını 20000 veya 30000 gibi büyük sayılar olarak alın. Böylelikle rutin ana programın üzerinde bir yere yerleşecek ve geriye kalan iş sadece ana programdaki joystick rutini için GOTO ve GOSUB komutlarının arkasına gelecek sayıları yazmak olacak. Eğer teyp kullanıyorsanız; 1. Aşağıdaki programı BDE ile yazın. (PROGRAM 1) 2. Teybe içinde birinci program olan kaseti yerleştirin. 3. Ekleme programını çalıştırın ve ekranda gösterilen yolları izleyin. “READY” yazısı ekrana geldiğinde LIST yazarsanız ikinci programın 6. satırdan itibaren bellekte yer aldığını göreceksiniz. Buna başka bir program eklemek için yeni programın kasetini teybe koyun ve ekleme programını RUN edin. İstediğiniz bütün

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