Zapis ciągu znaków na ekran (PRINT): Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
mNie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
| 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. | ||
iccmd = $0342 | |||
iccmd = $0342 | icbufa = $0344 | ||
icbufa = $0344 | icbufl = $0348 | ||
icbufl = $0348 | ; | ||
putline ldx #$00 | |||
sta icbufa,x | |||
putline ldx #$00 | tya | ||
sta icbufa+1,x | |||
lda #$ff | |||
sta icbufl,x | |||
lda #$09 | |||
sta iccmd,x | |||
jmp [[Tablica skoków#JCIOMAIN|jciomain]] | |||
[[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja z 29 sie 2009, 18:42
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