Zapis ciągu znaków na ekran (PRINT)
From Atariki
(Różnice między wersjami)
| Wersja z dnia 17:41, 29 sie 2009 KMK (Dyskusja | wkład) (Programowanie: Zapis ciągu znaków na ekran moved to Zapis ciągu znaków na ekran (PRINT)) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
| Linia 3: | Linia 3: | ||
| Wyprowadzenie tekstu uzyskuje się przez załadowanie jego adresu do rejestrów A/Y (młodszy/starszy) i wykonaniu rozkazu JSR PUTLINE. | Wyprowadzenie tekstu uzyskuje się przez załadowanie jego adresu do rejestrów A/Y (młodszy/starszy) i wykonaniu rozkazu JSR PUTLINE. | ||
| - | <pre> | + | iccmd = $0342 |
| - | iccmd = $0342 | + | icbufa = $0344 |
| - | icbufa = $0344 | + | icbufl = $0348 |
| - | icbufl = $0348 | + | ; |
| - | jciomain = $e456 | + | putline ldx #$00 |
| - | + | sta icbufa,x | |
| - | putline ldx #$00 | + | tya |
| - | sta icbufa,x | + | sta icbufa+1,x |
| - | tya | + | lda #$ff |
| - | sta icbufa+1,x | + | sta icbufl,x |
| - | lda #$ff | + | lda #$09 |
| - | sta icbufl,x | + | sta iccmd,x |
| - | lda #$09 | + | jmp [[Tablica skoków#JCIOMAIN|jciomain]] |
| - | sta iccmd,x | + | |
| - | jmp jciomain | + | |
| - | </pre> | + | |
| [[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja
Procedura wyprowadza na ekran ciąg znaków (string) na pozycji X/Y kursora określonej przez zmienne odpowiednio COLCRS ($55-$56) i ROWCRS ($54). Ciąg znaków musi być zakończony znakiem RETURN ($9B). 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.
Wyprowadzenie tekstu uzyskuje się przez załadowanie jego adresu do rejestrów A/Y (młodszy/starszy) i wykonaniu rozkazu JSR PUTLINE.
iccmd = $0342
icbufa = $0344
icbufl = $0348
;
putline ldx #$00
sta icbufa,x
tya
sta icbufa+1,x
lda #$ff
sta icbufl,x
lda #$09
sta iccmd,x
jmp jciomain
