Programowanie: Zapis na ekran w różnych systemach liczbowych

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 06:59, 24 cze 2008
Xxl (Dyskusja | wkład)
(uwaga Sebana)
← Previous diff
Wersja z dnia 07:37, 24 cze 2008
Xxl (Dyskusja | wkład)

Next diff →
Linia 14: Linia 14:
nibbel cmp #$0a nibbel cmp #$0a
sed sed
- adc #'0+ adc #$10
cld cld
 + sta (ekr),y
 + iny
 + rts
 +</pre>
 +
 +
 +Zapis na ekran liczby BCD:
 +
 +<pre>
 +putbcd pha
 + lsr @
 + lsr @
 + lsr @
 + lsr @
 + jsr _bcd
 + pla
 + and #$0f
 +_bcd ora #$10
sta (ekr),y sta (ekr),y
iny iny

Wersja z dnia 07:37, 24 cze 2008

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
Personal tools