Programowanie: Zapis na ekran w różnych systemach liczbowych: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
krótsze i szybsze putbin |
→Zapis na ekran bajtu w systemie dziesiętnym: optymalizacja |
||
| (Nie pokazano 3 wersji utworzonych przez 2 użytkowników) | |||
| 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 9: | Linia 9: | ||
lsr @ | lsr @ | ||
lsr @ | lsr @ | ||
jsr | jsr nibble | ||
pla | pla | ||
and #$0f | and #$0f | ||
nibble cmp #$0a | |||
sed | sed | ||
adc #$10 | adc #$10 | ||
| Linia 21: | Linia 21: | ||
</pre> | </pre> | ||
==Zapis na ekran liczby BCD== | |||
Zapis na ekran liczby BCD | |||
<pre> | <pre> | ||
| Linia 40: | Linia 39: | ||
Zapis na ekran w systemie binarnym | ==Zapis na ekran w systemie binarnym== | ||
<pre> | <pre> | ||
| Linia 56: | Linia 55: | ||
</pre> | </pre> | ||
==Zapis na ekran bajtu w systemie dziesiętnym== | |||
Zapis na ekran bajtu w systemie dziesiętnym | |||
<pre> | <pre> | ||
putdec | putdec ldx #$0f | ||
stx temp0 | |||
ldx #$1a | |||
sec | |||
_n1 inc temp0 | |||
sbc #100 | |||
bcs _n1 | |||
_n2 dex | |||
adc | adc #10 | ||
bmi _n2 | |||
adc #$0f | |||
sta temp1 | sta temp1 | ||
lda | lda temp0 | ||
jsr _bcd | jsr _bcd | ||
txa | |||
jsr _bcd | jsr _bcd | ||
lda temp1 | lda temp1 | ||
_bcd sta (ekr),y | |||
_bcd | |||
iny | iny | ||
rts | rts | ||
Aktualna wersja z 8 lut 2011, 16:10
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 nibble
pla
and #$0f
nibble 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 ldx #$0f
stx temp0
ldx #$1a
sec
_n1 inc temp0
sbc #100
bcs _n1
_n2 dex
adc #10
bmi _n2
adc #$0f
sta temp1
lda temp0
jsr _bcd
txa
jsr _bcd
lda temp1
_bcd sta (ekr),y
iny
rts