Zapis znaku na ekran (PUT)
From Atariki
(Różnice między wersjami)
| 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
