24 Ağustos 2014 Pazar

$FFD2 (CHROUT)


$FFD2 (chrout) kernal rutini

Çıkış kanalına ki bu varsayılan olarak ekran oluyor bir bayt gönderir. Örneğin şu basic satırını hatırlayın.

print"<shift><clr-home>"

Ekranı tamamen siler. Bunu assembler olarak kodlamanın bir yolu da şöyledir:

LDA #$93
JSR $FFD2
RTS

Aşağıdaki program kodlarını cbm prg studio'da derleyebilirsiniz.

; 10 SYS2080

*=$801

        BYTE    $0B, $08, $0A, $00, $9E, $32, $30, $38, $30, $00, $00, $00

*=$0820

chrout=$FFD2

        LDX #$00        ; X=0
DEVAM   LDA mesaj,x     ; mesaj adresindeki veriyi x'deki değişime göre al
        JSR chrout      ; çıkış kanalı default ekrana yazdır
        INX             ; x = x + 1
        CPX #$12        ; x 18'e eşit değil ise devam'a dallan
        BNE DEVAM
        RTS

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


Hiç yorum yok: