Zapis ciągu znaków na ekran (PRINT)
From Atariki
(Różnice między wersjami)
Wersja z dnia 11:37, 15 lip 2006 KMK (Dyskusja | wkład) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) |
||
Linia 1: | Linia 1: | ||
- | 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. | + | 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. | 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