Zapis znaku na ekran (PUT): Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
m dolinkowienie |
Nie podano opisu zmian |
||
| (Nie pokazano 2 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
| Linia 2: | Linia 2: | ||
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. | ||
Po wyświetleniu znaku pozycja kursora jest uaktualniana automatycznie, a gdy kursor ma się znaleźć poniżej dolnej skrajni ekranu, następuje przesuw całej zawartości ekranu o jeden wiersz (logiczny) w górę. | |||
== Wersja dla 6502 == | == Wersja dla 6502 == | ||
putchr ldx #$00 ;nr IOCB pomnożony przez 16 | 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 == | == Wersja dla 65C816 == | ||
icputb = $0346 | |||
icputb = $0346 | ; | ||
putchr ldx #$00 | |||
putchr ldx #$00 | ldy icputb+1,x | ||
phy | |||
ldy icputb,x | |||
phy | |||
rts | |||
[[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja z 29 sie 2009, 18:40
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 poprawne ustawienia trybów grafiki OS-u, to jest ekran jest w trybie "konsoli" (Graphics 0), lub w trybie graficznym z oknem tekstowym, a kanał, przez który wysyłamy bajt (w przykładzie IOCB 0), jest otwarty dla edytora ekranowego (urządzenie "E:" CIO).
Wyprowadzenie znaku polega na załadowaniu jego kodu ATASCII do akumulatora i wykonaniu rozkazu JSR PUTCHR.
Po wyświetleniu znaku pozycja kursora jest uaktualniana automatycznie, a gdy kursor ma się znaleźć poniżej dolnej skrajni ekranu, następuje przesuw całej zawartości ekranu o jeden wiersz (logiczny) w górę.
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