Zapis znaku na ekran (PUT)

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:27, 15 lip 2006
KMK (Dyskusja | wkład)

← Previous diff
Wersja z dnia 19:34, 9 sty 2008
KMK (Dyskusja | wkład)

Next diff →
Linia 1: Linia 1:
-Procedura wyprowadza znak na ekran na pozycji X/Y kursora określonej przez zmienne odpowiednio COLCRS ($55-$56) i ROWCRS ($54). Zakłada się, że obowiązują przy tym domyślne ustawienia OS-u, to jest ekran jest w trybie [[Graphics 0]], a kanał [[IOCB]] 0 jest otwarty dla edytora ekranowego.+Procedura wyprowadza znak na ekran na pozycji X/Y kursora określonej przez zmienne odpowiednio COLCRS ($55-$56) i ROWCRS ($54). Zakłada się, że obowiązują przy tym domyślne ustawienia OS-u, to jest ekran jest w trybie [[Graphics 0]], a kanał, przez który wysyłamy bajt (w przykładzie [[IOCB]] 0), '''jest otwarty dla edytora ekranowego.'''
Wyprowadzenie znaku polega na załadowaniu jego kodu ATASCII do akumulatora i wykonaniu rozkazu JSR PUTCHR. Wyprowadzenie znaku polega na załadowaniu jego kodu ATASCII do akumulatora i wykonaniu rozkazu JSR PUTCHR.
Linia 7: Linia 7:
icputb = $0346 icputb = $0346
-putchr ldx #$00+putchr ldx #$00 ;nr IOCB pomnożony przez 16
- tay+ tay ;znak do wysłania jest w akumulatorze
lda icputb+1,x lda icputb+1,x
pha pha

Wersja z dnia 19:34, 9 sty 2008

Procedura wyprowadza znak na ekran na pozycji X/Y kursora określonej przez zmienne odpowiednio COLCRS ($55-$56) i ROWCRS ($54). Zakłada się, że obowiązują przy tym domyślne ustawienia OS-u, to jest ekran jest w trybie Graphics 0, a kanał, przez który wysyłamy bajt (w przykładzie IOCB 0), jest otwarty dla edytora ekranowego.

Wyprowadzenie znaku polega na załadowaniu jego kodu ATASCII do akumulatora i wykonaniu rozkazu JSR PUTCHR.

Wersja dla 6502

icputb = $0346

putchr ldx #$00          ;nr IOCB pomnożony przez 16
       tay               ;znak do wysłania jest w akumulatorze
       lda icputb+1,x
       pha
       lda icputb,x
       pha
       tya
       rts

Wersja dla 65C816

icputb = $0346

putchr ldx #$00
       ldy icputb+1,x
       phy
       ldy icputb,x
       phy
       rts
Personal tools