Dizi Yazdırma
CBM Prg Studio ile yeni bir assembler projesi oluşturun. ASCII kodları ile ekrana diziyi yazdıran $AB1E (strout) basic rutinini kullanmayı öğreneceğiz. Bu dizi mutlaka $00 ile sonlandırmalıdır. Yoksa $00'ı buluna kadar yazıyor deli dumrul :)
Diyelim ki yazdırmak istediğiniz mesaj yada text adresi $4580'da olsun.
.M 4580 CD 45 52 48 41 42 41 00
strout basic rutinini kullanabilmek için mesaj içeriğinin başlangıç adresi olan $4580'nin alt ve üst byte olarak A ve Y registerlerine atamalı sonra rutini çağırmalıyız. A registerine alt, Y registerine ise üst byte tanımlanmalıdır.
Aşağıdaki kodları IDE içine yazıp derleyin. Çabuk sonuç için emulator kullanabilirsiniz. IDE ayarlarından emulator ayarlarını yaptıktan sonra CTRL + F5 ile kolaylıkla derleyip sonucu görebilirsiniz.
; String output
; strout $AB1E basic rutini
*=$0820 ; başlangıç adresi
strout = $AB1E
; LDA $D018 ; küçük harf moduna geç
; ORA #$02
; STA $D018
LDA #<mesaj ; mesaj adresinin a ve y için tanımlanması
LDY #>mesaj
JSR strout ; diziyi yazdır
RTS ; basic'e dön (programı bitir)
mesaj byte $0e, $93 ; küçük harf moduna geç ve ekranı sil
byte $cd, $45, $52, $48, $41, $42, $41, $a0 ; Merhaba Dostum
byte $c4, $4f, $53, $54, $55, $4d, $0d, $0d
byte $00
; mesajın sonu mutlaka $00 ile bitmelidir
; mesaj ASCII kodları ile yazılmalı
Hiç yorum yok:
Yorum Gönder