Programowanie: Zapis na ekran w różnych systemach liczbowych
From Atariki
(Różnice między wersjami)
Wersja z dnia 10:41, 26 cze 2008 KMK (Dyskusja | wkład) (Programowanie: Zapis na ekran liczby w systemie szesnastkowym (PUTHEX) moved to Programowanie: Zapis na ekran w różnych systemach liczbowych: request + zachowanie historii) ← Previous diff |
Wersja z dnia 10:43, 26 cze 2008 KMK (Dyskusja | wkład) (dr.) Next diff → |
||
Linia 1: | Linia 1: | ||
- | Zapis na ekran w systemie heksadecymalnym: | + | ==Zapis na ekran w systemie heksadecymalnym== |
Pod adresem wskazywanym przez 'ekr' znajduje się początek pamięci ekranu gdzie będzie zapisana liczba heksadecymalna. Dzięki rejestrowi Y można drukować na ekranie liczby w pętli. | Pod adresem wskazywanym przez 'ekr' znajduje się początek pamięci ekranu gdzie będzie zapisana liczba heksadecymalna. Dzięki rejestrowi Y można drukować na ekranie liczby w pętli. | ||
Linia 22: | Linia 22: | ||
- | Zapis na ekran liczby BCD: | + | ==Zapis na ekran liczby BCD== |
<pre> | <pre> | ||
Linia 40: | Linia 40: | ||
- | Zapis na ekran w systemie binarnym: | + | ==Zapis na ekran w systemie binarnym== |
<pre> | <pre> | ||
Linia 56: | Linia 56: | ||
</pre> | </pre> | ||
- | + | ==Zapis na ekran bajtu w systemie dziesiętnym== | |
- | Zapis na ekran bajtu w systemie dziesiętnym: | + | |
<pre> | <pre> |
Wersja z dnia 10:43, 26 cze 2008
Spis treści |
Zapis na ekran w systemie heksadecymalnym
Pod adresem wskazywanym przez 'ekr' znajduje się początek pamięci ekranu gdzie będzie zapisana liczba heksadecymalna. Dzięki rejestrowi Y można drukować na ekranie liczby w pętli.
puthex pha lsr @ lsr @ lsr @ lsr @ jsr nibbel pla and #$0f nibbel cmp #$0a sed adc #$10 cld sta (ekr),y iny rts
Zapis na ekran liczby BCD
putbcd pha lsr @ lsr @ lsr @ lsr @ jsr _bcd pla and #$0f _bcd ora #$10 sta (ekr),y iny rts
Zapis na ekran w systemie binarnym
putbin sec rol @ _bit tax lda #$08 rol @ sta (ekr),y iny txa asl @ bne _bit rts
Zapis na ekran bajtu w systemie dziesiętnym
putdec sta temp0 lda #0 sta temp1 sta temp2 ldx #$08 sed _nxt asl temp0 lda temp1 adc temp1 sta temp1 lda temp2 adc temp2 sta temp2 dex bne _nxt cld lda temp2 jsr _bcd lda temp1 lsr @ lsr @ lsr @ lsr @ jsr _bcd lda temp1 and #$0f _bcd ora #$10 sta (ekr),y iny rts