Commodore sayı 53, sayfa 20

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 20

Tunç & Sinan

MAKİNE DİLİNİN PÜF NOKTALARI

Bu aydan itibaren sizlerle birlikte olup makine dilinin tüm inceliklerini tanıtmaya çalışacağız. Ancak bu tanıtım daha öncekiler gibi değil. Amacımız sadece assembler komutlarını öğretmek değil, bu dilin programlama mantığını ve basit programlar yazmanızı sağlamak. Evet hazırsanız başlıyoruz. Makine dilinde kullandığınız sayılar hexadecimal yani 16'lık sistemdeki sayılardır. Bu sayılar: 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F şeklindedir. Örneğin $1000'i decimal (onluk) sistemde gösterelim

- 16 x 16 x 16 x 1 = 4096 - 16 x 16 x 2 = 512 - 16 x 5 = 80 - (4'ün 0, 1) x 4 = 4 * 4096 değerine eşittir.

Esasen bu çevirmeleri monitör programları kendi kendine yapabilirler. Commodore 64'ün assembler'ında 3 register mevcuttur. Register'lar bir değeri sakladığınız değişkenlerdir. Bu değişkenler A, X ve Y'dir.

Bu işlemlerden sonra size çok karmaşık gibi görünen bazı temel komutları inceleyelim. LDA VE STA KOMUTLARI: Assembler'da “LDA” komutu en çok kullanılan komutlardan biridir. Anlamı “load accumulator”dür. Bu komutla A register'ine yani accumulator'e herhangi bir değer verebilirsiniz. LDA #$50 - Bu örnekte A'ya 50 değeri verilmiştir. Örnekte “#” kullanılmasının nedeni yüklenen değerin direkt kullanılması içindir. LDA - Eğer buradaki gibi “#” kullanmazsanız makine A'ya yükleyeceği değeri $4000 adresinden alır. Yani $4000'deki değer A'ya yüklenir. Eğer $4000 adresinde #$80 varsa A değeri 80 olacaktır. Unutmadan şunu da ekleyelim; komutlarda kullanacağınız sayılar HEXADECIMAL yani 16'lık sistemdeki sayılardır. Bu sayıları kullandığınız monitör programı yardımıyla kolayca bulabilirsiniz.

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