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