Programowanie: Zapis na ekran w różnych systemach liczbowych: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
dr. |
m →Zapis na ekran w systemie heksadecymalnym: s/nibbel/nibble/g |
||
| 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 20: | Linia 20: | ||
rts | rts | ||
</pre> | </pre> | ||
==Zapis na ekran liczby BCD== | ==Zapis na ekran liczby BCD== | ||
Wersja z 19 gru 2009, 20:24
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 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