home *** CD-ROM | disk | FTP | other *** search
/ Flop Magazin 48 / Flop_Magazin_48_2005_05_Raster_cs_Side_A.atr / show10b.asm < prev    next >
Assembly Source File  |  2023-02-26  |  2KB  |  1 lines

  1. ;SHOW10B¢;Zobrazeni WORD cisla jako 5 decimalnich cifer za pomoci odecitani mocnin 10¢;(c) raster/c.p.u.¢;¢zobraz_db   equ 204¢zobraz_hb   equ 205¢temp        equ 206¢cislo_db    equ 207¢cislo_hb    equ 208¢;¢;------------------------¢;¢    org $3000¢;¢START¢    lda #0¢    sta 20      ;db citac casu¢    sta 19      ;hb citac casu¢    sta cislo_db¢    sta cislo_hb¢smy ;cislo=0 az 65535¢    lda cislo_db¢    sta zobraz_db¢    lda cislo_hb¢    sta zobraz_hb¢    jsr zobraz  ;zobrazi cislo¢    inc cislo_db¢    bne smy¢    inc cislo_hb¢    bne smy¢;hotovo, zobraz vysledny cas¢    lda 20      ;db casu v 1/50 sec¢    sta zobraz_db¢    lda 19      ;hb casu v 1/50 sec¢    sta zobraz_hb¢    jsr zobraz  ;zobrazi vysledny cas¢nek jmp nek¢;¢zobraz¢    ldy #0  ;5ti ciferny vysledek (0->4)¢    ldx #0¢    jmp na1¢na0 sta zobraz_hb¢    lda temp¢    sta zobraz_db¢    inx             ;pocet odecteni mocniny 10¢na1 lda zobraz_db¢    sec¢    sbc exp10db,y   ;odecita db¢    sta temp        ;prozatim¢    lda zobraz_hb¢    sbc exp10hb,y   ;odecita hb¢    bcs na0         ;vysledek po odecteni je >=0¢na2 txa             ;0-9¢    ora #16         ;0-9 => '0'-'9'¢    sta (88),y      ;do videoram¢    ldx #0¢    iny             ;dalsi cifra¢    cpy #3¢    bne na1         ;opakovat¢    ;predposledni a posledni cifru (desitky a jednotky) spocitame zjednoduseneji uz jen s pouzitim dolniho byte¢    lda zobraz_db¢    sec¢    dex             ;inicializace X = -1¢nb1 inx             ;pocet odecteni deseti  ¢    sbc #10¢    bcs nb1         ;vysledek po odecteni je >=0¢    adc #10         ;po poslednim odecteni uz byl zaporny vysledek, takze 10 pricte zpet¢    sta zobraz_db   ;ulozi pocet jednotek¢    txa             ;z X vezme pocet desitek¢    ora #16         ;0-9 => '0'-'9'¢    sta (88),y      ;do videoram¢    iny¢    ;posledni cifru (jednotky) vezme uz primo¢    lda zobraz_db¢    ora #16         ;0-9 => '0'-'9'¢    sta (88),y      ;do videoram¢    rts¢;¢;mocniny 10: 10000,1000,100¢exp10db dta l(10000),l(1000),l(100)¢exp10hb dta h(10000),h(1000),h(100)¢;¢;------------------------¢;¢        RUN START¢;