1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:32 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
10 10 .globl __mulslong_PARM_2
12 12 ;--------------------------------------------------------
13 13 ; special function registers
14 14 ;--------------------------------------------------------
15 15 ;--------------------------------------------------------
16 16 ; special function bits
17 17 ;--------------------------------------------------------
18 18 ;--------------------------------------------------------
19 19 ; internal ram data
20 20 ;--------------------------------------------------------
22 0000 22 __mulslong_sloc0_1_0:
24 0004 24 __mulslong_sloc1_1_0:
26 26 ;--------------------------------------------------------
27 27 ; overlayable items in internal ram
28 28 ;--------------------------------------------------------
29 29 .area OSEG (OVR,DATA)
30 30 ;--------------------------------------------------------
31 31 ; indirectly addressable internal ram data
32 32 ;--------------------------------------------------------
34 34 ;--------------------------------------------------------
36 36 ;--------------------------------------------------------
38 38 ;--------------------------------------------------------
39 39 ; external ram data
40 40 ;--------------------------------------------------------
42 0000 42 __mulslong_PARM_2:
44 0004 44 __mulslong_a_1_1:
46 46 ;--------------------------------------------------------
47 47 ; global & static initialisations
48 48 ;--------------------------------------------------------
49 49 .area GSINIT (CODE)
50 50 ;--------------------------------------------------------
52 52 ;--------------------------------------------------------
54 0000 54 G$_mulslong$0$0 ==.
56 56 ; -----------------------------------------
57 57 ; function _mulslong
58 58 ; -----------------------------------------
69 0000 C0 E0 69 push acc
71 0004 C0 83 71 push dph
72 0006 C0 82 72 push dpl
73 0008 90s00r04 73 mov dptr,#__mulslong_a_1_1
75 000D F0 75 movx @dptr,a
78 0011 F0 78 movx @dptr,a
81 0015 F0 81 movx @dptr,a
84 0019 F0 84 movx @dptr,a
86 001A 90s00r04 86 mov dptr,#__mulslong_a_1_1
87 001D E0 87 movx a,@dptr
90 0020 E0 90 movx a,@dptr
93 0023 E0 93 movx a,@dptr
96 0026 E0 96 movx a,@dptr
97 97 ; Peephole 105 removed redundant mov
99 99 ; Peephole 111 removed ljmp by inverse jump logic
100 0028 30 E7 0F 100 jnb acc.7,00106$
104 002D 9A 104 subb a,r2
107 0030 9B 107 subb a,r3
110 0033 9C 110 subb a,r4
113 0036 9D 113 subb a,r5
115 115 ; Peephole 132 changed ljmp to sjmp
116 0038 80 08 116 sjmp 00107$
118 003A 8A 06 118 mov ar6,r2
119 003C 8B 07 119 mov ar7,r3
120 003E 8C 00 120 mov ar0,r4
121 0040 8D 01 121 mov ar1,r5
123 0042 8E*00 123 mov __mulslong_sloc0_1_0,r6
124 0044 8F*01 124 mov (__mulslong_sloc0_1_0 + 1),r7
125 0046 88*02 125 mov (__mulslong_sloc0_1_0 + 2),r0
126 0048 89*03 126 mov (__mulslong_sloc0_1_0 + 3),r1
128 004A 90s00r00 128 mov dptr,#__mulslong_PARM_2
129 004D E0 129 movx a,@dptr
132 0050 E0 132 movx a,@dptr
135 0053 E0 135 movx a,@dptr
138 0056 E0 138 movx a,@dptr
139 139 ; Peephole 105 removed redundant mov
144 144 ; Peephole 105 removed redundant mov
146 146 ; Peephole 110 removed ljmp by inverse jump logic
147 005C 60 13 147 jz 00108$
151 0060 9E 151 subb a,r6
152 0061 F5*04 152 mov __mulslong_sloc1_1_0,a
154 0064 9F 154 subb a,r7
155 0065 F5*05 155 mov (__mulslong_sloc1_1_0 + 1),a
157 0068 98 157 subb a,r0
158 0069 F5*06 158 mov (__mulslong_sloc1_1_0 + 2),a
160 006C 99 160 subb a,r1
161 006D F5*07 161 mov (__mulslong_sloc1_1_0 + 3),a
162 162 ; Peephole 132 changed ljmp to sjmp
163 006F 80 08 163 sjmp 00109$
165 0071 8E*04 165 mov __mulslong_sloc1_1_0,r6
166 0073 8F*05 166 mov (__mulslong_sloc1_1_0 + 1),r7
167 0075 88*06 167 mov (__mulslong_sloc1_1_0 + 2),r0
168 0077 89*07 168 mov (__mulslong_sloc1_1_0 + 3),r1
170 0079 90s00r00 170 mov dptr,#__mululong_PARM_2
171 007C E5*04 171 mov a,__mulslong_sloc1_1_0
172 007E F0 172 movx @dptr,a
174 0080 E5*05 174 mov a,(__mulslong_sloc1_1_0 + 1)
175 0082 F0 175 movx @dptr,a
177 0084 E5*06 177 mov a,(__mulslong_sloc1_1_0 + 2)
178 0086 F0 178 movx @dptr,a
180 0088 E5*07 180 mov a,(__mulslong_sloc1_1_0 + 3)
181 008A F0 181 movx @dptr,a
182 008B C0 02 182 push ar2
183 008D 85*00 82 183 mov dpl,__mulslong_sloc0_1_0
184 0090 85*01 83 184 mov dph,(__mulslong_sloc0_1_0 + 1)
185 0093 85*02 F0 185 mov b,(__mulslong_sloc0_1_0 + 2)
186 0096 E5*03 186 mov a,(__mulslong_sloc0_1_0 + 3)
187 0098 12s00r00 187 lcall __mululong
188 009B AB 82 188 mov r3,dpl
189 009D AC 83 189 mov r4,dph
190 009F AD F0 190 mov r5,b
192 00A2 D0 02 192 pop ar2
194 00A4 C0 03 194 push ar3
195 00A6 C0 04 195 push ar4
196 00A8 C0 05 196 push ar5
197 00AA C0 06 197 push ar6
198 00AC 90s00r04 198 mov dptr,#__mulslong_a_1_1
199 00AF E0 199 movx a,@dptr
202 00B2 E0 202 movx a,@dptr
205 00B5 E0 205 movx a,@dptr
208 00B8 E0 208 movx a,@dptr
209 209 ; Peephole 105 removed redundant mov
216 00BF 65 07 216 xrl a,ar7
217 00C1 D0 06 217 pop ar6
218 00C3 D0 05 218 pop ar5
219 00C5 D0 04 219 pop ar4
220 00C7 D0 03 220 pop ar3
221 221 ; Peephole 110 removed ljmp by inverse jump logic
222 00C9 60 1C 222 jz 00102$
227 00CD 9B 227 subb a,r3
228 00CE F5*04 228 mov __mulslong_sloc1_1_0,a
230 00D1 9C 230 subb a,r4
231 00D2 F5*05 231 mov (__mulslong_sloc1_1_0 + 1),a
233 00D5 9D 233 subb a,r5
234 00D6 F5*06 234 mov (__mulslong_sloc1_1_0 + 2),a
236 00D9 9E 236 subb a,r6
237 237 ; Peephole 191 removed redundant mov
238 00DA F5*07 238 mov (__mulslong_sloc1_1_0 + 3),a
239 00DC 85*04 82 239 mov dpl,__mulslong_sloc1_1_0
240 00DF 85*05 83 240 mov dph,(__mulslong_sloc1_1_0 + 1)
241 00E2 85*06 F0 241 mov b,(__mulslong_sloc1_1_0 + 2)
242 242 ; Peephole 132 changed ljmp to sjmp
243 00E5 80 07 243 sjmp 00104$
246 00E7 8B 82 246 mov dpl,r3
247 00E9 8C 83 247 mov dph,r4
248 00EB 8D F0 248 mov b,r5
251 00EE 251 C$_muslong.c$35$1$1 ==.
252 00EE 252 XG$_mulslong$0$0 ==.
254 254 .area CSEG (CODE)