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
