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

From Atariki

Revision as of 08:33, 24 cze 2008; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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