Details | Last modification | View Log
Rev | Author | Line No. | Line |
---|---|---|---|
574 | alone | 1 | prword |
2 | ;hl=num |
||
3 | exx |
||
4 | ld hl,0 |
||
5 | exx |
||
6 | prdword |
||
7 | ;hl'hl=num |
||
8 | ld de,prdwordbuf |
||
9 | push de |
||
658 | alone | 10 | call prdword_de_withspaces |
574 | alone | 11 | pop hl |
12 | ld de,10 |
||
13 | jp cmdprNchars |
||
658 | alone | 14 | prdword_de_withspaces |
15 | ld a,0x12 ;"ld (de),a" |
||
16 | jr prdword_de_a |
||
574 | alone | 17 | prdword_de |
18 | ;hl'hl=num |
||
19 | ;de=buf |
||
658 | alone | 20 | xor a |
21 | prdword_de_a |
||
22 | ld (prnumdwordcmd_zero_lddea),a |
||
23 | ld a,' ' |
||
24 | ld (prnumdwordcmd_zero_sym),a |
||
574 | alone | 25 | exx |
658 | alone | 26 | ld a,h |
27 | or l |
||
28 | jr z,prdword_skiphsw |
||
574 | alone | 29 | ld bc,1000000000/65536 |
30 | exx |
||
31 | ld bc,1000000000&0xffff |
||
658 | alone | 32 | call prnumdwordcmdbcbc0 |
574 | alone | 33 | exx |
34 | ld bc,100000000/65536 |
||
35 | exx |
||
36 | ld bc,100000000&0xffff |
||
658 | alone | 37 | call prnumdwordcmdbcbc0 |
574 | alone | 38 | exx |
39 | ld bc,10000000/65536 |
||
40 | exx |
||
41 | ld bc,10000000&0xffff |
||
658 | alone | 42 | call prnumdwordcmdbcbc0 |
574 | alone | 43 | exx |
44 | ld bc,1000000/65536 |
||
45 | exx |
||
46 | ld bc,1000000&0xffff |
||
658 | alone | 47 | call prnumdwordcmdbcbc0 |
574 | alone | 48 | exx |
49 | ld bc,100000/65536 |
||
50 | exx |
||
51 | ld bc,100000&0xffff |
||
658 | alone | 52 | call prnumdwordcmdbcbc0 |
53 | jp prdword_skiphswq |
||
54 | prdword_skiphsw |
||
574 | alone | 55 | exx |
658 | alone | 56 | call prnumdwordcmd_azero |
57 | call prnumdwordcmd_azero |
||
58 | call prnumdwordcmd_azero |
||
59 | call prnumdwordcmd_azero |
||
60 | call prnumdwordcmd_azero |
||
61 | prdword_skiphswq |
||
62 | exx |
||
574 | alone | 63 | ld bc,0 |
64 | exx |
||
65 | ld bc,10000 |
||
658 | alone | 66 | call prnumdwordcmdbcbc0 |
574 | alone | 67 | ld bc,1000 |
68 | call prnumdwordcmd0 |
||
69 | ld bc,100 |
||
70 | call prnumdwordcmd0 |
||
658 | alone | 71 | ld c,10 |
574 | alone | 72 | call prnumdwordcmd0 |
658 | alone | 73 | ld a,l |
74 | add a,'0' |
||
75 | ld (de),a |
||
76 | inc de |
||
77 | ret |
||
78 | ;ld a,0x12 ;"ld (de),a" |
||
79 | ;ld (prnumdwordcmd_zero_lddea),a |
||
80 | ;ld bc,1 |
||
574 | alone | 81 | prnumdwordcmd0 |
658 | alone | 82 | ;bc=digit weight |
574 | alone | 83 | ld a,'0'-1 |
658 | alone | 84 | or a |
574 | alone | 85 | prnumdwordcmd1 |
86 | inc a |
||
658 | alone | 87 | sbc hl,bc |
88 | jp nc,prnumdwordcmd1 |
||
89 | add hl,bc |
||
90 | prnumdwordcmd_digok |
||
91 | cp '0' |
||
92 | jr z,prnumdwordcmd_azero |
||
93 | ld (de),a |
||
94 | inc de |
||
95 | ld a,0x12 ;"ld (de),a" |
||
96 | ld (prnumdwordcmd_zero_lddea),a |
||
97 | ld a,'0' |
||
98 | ld (prnumdwordcmd_zero_sym),a |
||
99 | ret |
||
100 | prnumdwordcmd_azero |
||
101 | prnumdwordcmd_zero_sym=$+1 |
||
102 | ld a,' ' |
||
103 | prnumdwordcmd_zero_lddea=$ |
||
104 | ld (de),a |
||
105 | inc de |
||
106 | ret |
||
107 | prnumdwordcmdbcbc0 |
||
108 | ;bc'bc=digit weight |
||
109 | ld a,'0'-1 |
||
574 | alone | 110 | or a |
658 | alone | 111 | prnumdwordcmdbcbc1 |
112 | inc a |
||
574 | alone | 113 | sbc hl,bc |
114 | exx |
||
115 | sbc hl,bc |
||
116 | exx |
||
658 | alone | 117 | jp nc,prnumdwordcmdbcbc1 |
574 | alone | 118 | add hl,bc |
119 | exx |
||
120 | adc hl,bc |
||
121 | exx |
||
658 | alone | 122 | jp prnumdwordcmd_digok |
574 | alone | 123 | |
124 | prdwordbuf |
||
125 | db "1234567890" |