Commodore sayı 18, sayfa 62

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 62

100 - — VIC- 53248 110- VI —53265 120 - — .EO V2 —53272 — .EÇ CIA-$DDOO 140 - — .BA $C400 150- #59 170- LDA #8 180 - STA V2 190- LDA #0 200 - 210- RTS

Yazdığımız programı denemeden önce, bir de bunun tersi işlemi yapan programı yazalım. Bunu, deminki programın hemen arkasına ekleyelim. Yani, şu satırları da girmemiz gerekecek: 200 - DURUMA

DÖNÜŞ 210- OFF LDA# 27 220 - STA VI 230 - LDA # 21

240 - STA V2 250 - LDA #3 260 - STA CIA 270 - RTS

Dikkat ettiyseniz; yazdığımız bölümün çağrı adresini belirlemek için başına “OFP” etiketi koyduk. İlk bölümün başlangıcını da aynı şekilde belirleyelim. Bunun için, 150'nci satırı şu şekilde değiştirelim:

150—ON LDA # 59

Kaynak programımızı assembler'dan geçirdikten sonra, bir disassembler ile inceleyelim. Şöyle bir görüntü ile karşılaşırız:

C400 A9 38 LDA # $3B C402 8D 11 DO STA C405 A9 08 LDA $08 C407 8D 18 DO STA $DO018 CA4A0A A9 00 LDA $00 C40C 8D 00 DD STA $DDOO C40F 60 RTS C410 A9 1B LDA # $1B C412 8D 11 DO STA C415 A9 15 LDA *# $15 C417 8D 18 DO STA $DO18 C41A A9 03 LDA # $03 C41C 80 00 DD STA $DDOO C41F 60 RTS #

Sembol tablomuzu, sort edilmiş (alfabetik sıraya dizilmiş) biçimde görmek için /!! komutunu verdiğimizde:

CIA - $DDOO OFF —- $C410 ON - $C400 VIC — $DO0O0O Vİ V2-$DO0O18

ile karşılaşırız. Yazdığımız altprogramları denemeden önce, grafik moduna geçme (ON) ve normal moda dönme (OFF) işlemlerinin adreslerini ondalık sisteme çevirelim. Bu işlem için, süper assembler'ın, < — fonksiyonunu kullanabiliriz. ON etiketi için $C400 — 50176, OFF etiketi için $C410 — 50192 rakamlarını elde ederiz. Yarattığımız altprogramların işlevlerini ne derece yerine getirdiğini kontrol etmek için, direkt moda aşağıdaki satırı girelim:

WATT 198,1:5YS50192

Yapılan işlem, önce grafik moduna geçip bir tuşa basılmasını beklemek ve tekrar normal moda dönmek.

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