Programowanie: Zapis na ekran w różnych systemach liczbowych: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| Linia 59: | Linia 59: | ||
<pre> | <pre> | ||
putdec | putdec sta temp0 | ||
lda #0 | |||
sta temp1 | sta temp1 | ||
sta temp2 | |||
ldx #$08 | |||
sed | |||
_nxt asl temp0 | |||
lda temp1 | |||
adc temp1 | |||
sta temp1 | |||
lda temp2 | |||
adc temp2 | |||
sta temp2 | sta temp2 | ||
dex | dex | ||
bne _nxt | bne _nxt | ||
cld | cld | ||
lda temp2 | |||
jsr _bcd | jsr _bcd | ||
lda temp1 | |||
lsr @ | lsr @ | ||
lsr @ | lsr @ | ||
Wersja z 24 cze 2008, 10:33
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 ldx #$08
sta temp
_bit asl temp
lda #$08
rol @
sta (ekr),y
iny
dex
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