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

Z Atariki
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 ==
<pre>
icputb = $0346


putchr ldx #$00          ;nr IOCB pomnożony przez 16
icputb = $0346
      tay              ;znak do wysłania jest w akumulatorze
;
      lda icputb+1,x
putchr ldx #$00          ;nr IOCB pomnożony przez 16
      pha
        tay              ;znak do wysłania jest w akumulatorze
      lda icputb,x
        lda icputb+1,x
      pha
        pha
      tya
        lda icputb,x
      rts
        pha
</pre>
        tya
        rts


== Wersja dla 65C816 ==
== Wersja dla 65C816 ==


<pre>
icputb = $0346
icputb = $0346
;
 
putchr ldx #$00
putchr ldx #$00
        ldy icputb+1,x
      ldy icputb+1,x
        phy
      phy
        ldy icputb,x
      ldy icputb,x
        phy
      phy
        rts
      rts
</pre>


[[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