Zapis znaku na ekran (PUT): Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
m dolinkowienie
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 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]]).
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.
Wyprowadzenie znaku polega na załadowaniu jego kodu [[ATASCII]] do akumulatora i wykonaniu rozkazu JSR PUTCHR.


== Wersja dla 6502 ==
== Wersja dla 6502 ==

Wersja z 6 mar 2008, 22:01

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.

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