Plazma sayı 3, sayfa 121

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 121

!byte (VIC_HARITASI+(320*(i-1))+(j-1))>>8

* = VIC_HARITASI

!fill $1f40, 0

Programın Çıktısı:

Bu örnekte dikkat edilmesi gereken bir nokta var. (Bakın ekranın ortasında duruyor :))

; Ana Rutin ldy #0 ; x koordinatı 9.bit lda #160 ; x koordinatı ldx #100 ; y koordinatı jsr noktakoy ; ekrana nokta bas

Öncelikle bu bölümde gördüğünüz register isimleri kafanızı karıştırmasın. Yani "ldx" komutu x koordinatı değerini taşır şeklinde düşünmeyin. Aksine yanlarında açıklamaları olduğu gibi ldx ile 0-199 arasındaki y koordinatı değerini y register'ına yüklüyoruz. ldy ve lda ise x koordinatı değerlerini içeriyor. Peki burada 9 biti nasıl kullandık? y registerının en sağdaki biti (0. bit) a registerının 9. biti anlamına geliyor. Yani x'e 300 gibi 255'ten büyük bir değer vermemiz gerektiğinde bunu öncelikle 9 bitlik bir ifade şeklinde yazmalıyız.

300 = %100101100

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