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 __mululong_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 22 ;--------------------------------------------------------
23 23 ; overlayable items in internal ram
24 24 ;--------------------------------------------------------
25 25 .area OSEG (OVR,DATA)
26 26 ;--------------------------------------------------------
27 27 ; indirectly addressable internal ram data
28 28 ;--------------------------------------------------------
30 30 ;--------------------------------------------------------
32 32 ;--------------------------------------------------------
34 34 ;--------------------------------------------------------
35 35 ; external ram data
36 36 ;--------------------------------------------------------
38 0000 38 __mululong_PARM_2:
40 0004 40 __mululong_a_1_1:
42 0008 42 __mululong_t_1_1:
44 44 ;--------------------------------------------------------
45 45 ; global & static initialisations
46 46 ;--------------------------------------------------------
47 47 .area GSINIT (CODE)
48 48 ;--------------------------------------------------------
50 50 ;--------------------------------------------------------
52 0000 52 G$_mululong$0$0 ==.
54 54 ; -----------------------------------------
55 55 ; function _mululong
56 56 ; -----------------------------------------
67 0000 C0 E0 67 push acc
69 0004 C0 83 69 push dph
70 0006 C0 82 70 push dpl
71 0008 90s00r04 71 mov dptr,#__mululong_a_1_1
73 000D F0 73 movx @dptr,a
76 0011 F0 76 movx @dptr,a
79 0015 F0 79 movx @dptr,a
82 0019 F0 82 movx @dptr,a
84 001A 90s00r04 84 mov dptr,#(__mululong_a_1_1)
85 001D E0 85 movx a,@dptr
87 001F 90s00r02 87 mov dptr,#(0x0002 + __mululong_PARM_2)
88 0022 E0 88 movx a,@dptr
90 0024 8B F0 90 mov b,r3
94 0029 AC F0 94 mov r4,b
95 002B 90s00r0A 95 mov dptr,#(0x0002 + __mululong_t_1_1)
97 002F F0 97 movx @dptr,a
100 0032 F0 100 movx @dptr,a
102 0033 90s00r00 102 mov dptr,#(__mululong_PARM_2)
103 0036 E0 103 movx a,@dptr
105 0038 8B F0 105 mov b,r3
109 003D AD F0 109 mov r5,b
110 003F 90s00r08 110 mov dptr,#(__mululong_t_1_1)
112 0043 F0 112 movx @dptr,a
115 0046 F0 115 movx @dptr,a
117 0047 90s00r0B 117 mov dptr,#(0x0003 + __mululong_t_1_1)
118 004A E0 118 movx a,@dptr
120 004C 90s00r07 120 mov dptr,#(0x0003 + __mululong_a_1_1)
121 004F E0 121 movx a,@dptr
124 0051 8B F0 124 mov b,r3
127 127 ; Peephole 105 removed redundant mov
130 130 ; Peephole 100 removed redundant mov
132 0058 90s00r0B 132 mov dptr,#(0x0003 + __mululong_t_1_1)
133 005B F0 133 movx @dptr,a
135 005C 90s00r0B 135 mov dptr,#(0x0003 + __mululong_t_1_1)
136 005F E0 136 movx a,@dptr
138 0061 90s00r06 138 mov dptr,#(0x0002 + __mululong_a_1_1)
139 0064 E0 139 movx a,@dptr
142 0066 90s00r01 142 mov dptr,#(0x0001 + __mululong_PARM_2)
143 0069 E0 143 movx a,@dptr
145 006B 8E F0 145 mov b,r6
148 148 ; Peephole 105 removed redundant mov
151 151 ; Peephole 100 removed redundant mov
153 0072 90s00r0B 153 mov dptr,#(0x0003 + __mululong_t_1_1)
154 0075 F0 154 movx @dptr,a
156 0076 90s00r0A 156 mov dptr,#(0x0002 + __mululong_t_1_1)
157 0079 E0 157 movx a,@dptr
160 007C E0 160 movx a,@dptr
162 007E 90s00r06 162 mov dptr,#(0x0002 + __mululong_a_1_1)
163 0081 E0 163 movx a,@dptr
165 0083 8B F0 165 mov b,r3
169 0088 AF F0 169 mov r7,b
174 008E 3D 174 addc a,r5
176 0090 90s00r0A 176 mov dptr,#(0x0002 + __mululong_t_1_1)
178 0094 F0 178 movx @dptr,a
181 0097 F0 181 movx @dptr,a
183 0098 90s00r0A 183 mov dptr,#(0x0002 + __mululong_t_1_1)
184 009B E0 184 movx a,@dptr
187 009E E0 187 movx a,@dptr
189 00A0 90s00r05 189 mov dptr,#(0x0001 + __mululong_a_1_1)
190 00A3 E0 190 movx a,@dptr
192 00A5 90s00r01 192 mov dptr,#(0x0001 + __mululong_PARM_2)
193 00A8 E0 193 movx a,@dptr
195 00AA 8F F0 195 mov b,r7
199 00AF AE F0 199 mov r6,b
204 00B5 3D 204 addc a,r5
206 00B7 90s00r0A 206 mov dptr,#(0x0002 + __mululong_t_1_1)
208 00BB F0 208 movx @dptr,a
211 00BE F0 211 movx @dptr,a
213 00BF 90s00r05 213 mov dptr,#(0x0001 + __mululong_a_1_1)
214 00C2 E0 214 movx a,@dptr
217 00C4 90s00r02 217 mov dptr,#(0x0002 + __mululong_PARM_2)
218 00C7 E0 218 movx a,@dptr
220 00C9 8D F0 220 mov b,r5
223 223 ; Peephole 100 removed redundant mov
225 00CE 90s00r07 225 mov dptr,#(0x0003 + __mululong_a_1_1)
226 00D1 F0 226 movx @dptr,a
228 00D2 90s00r05 228 mov dptr,#(0x0001 + __mululong_a_1_1)
229 00D5 E0 229 movx a,@dptr
232 00D7 8B F0 232 mov b,r3
236 00DC AD F0 236 mov r5,b
237 00DE 90s00r05 237 mov dptr,#(0x0001 + __mululong_a_1_1)
239 00E2 F0 239 movx @dptr,a
242 00E5 F0 242 movx @dptr,a
245 00E6 90s00r03 245 mov dptr,#(0x0003 + __mululong_PARM_2)
246 00E9 E0 246 movx a,@dptr
248 00EB 8B F0 248 mov b,r3
251 251 ; Peephole 100 removed redundant mov
253 00F0 90s00r03 253 mov dptr,#(0x0003 + __mululong_PARM_2)
254 00F3 F0 254 movx @dptr,a
256 00F4 90s00r01 256 mov dptr,#(0x0001 + __mululong_PARM_2)
257 00F7 E0 257 movx a,@dptr
259 00F9 8B F0 259 mov b,r3
263 00FE AC F0 263 mov r4,b
264 0100 90s00r01 264 mov dptr,#(0x0001 + __mululong_PARM_2)
266 0104 F0 266 movx @dptr,a
269 0107 F0 269 movx @dptr,a
271 0108 90s00r00 271 mov dptr,#(__mululong_PARM_2)
272 272 ; Peephole 180 changed mov to clr
274 010C F0 274 movx @dptr,a
276 010D 90s00r04 276 mov dptr,#(__mululong_a_1_1)
277 277 ; Peephole 180 changed mov to clr
279 0111 F0 279 movx @dptr,a
281 0112 90s00r08 281 mov dptr,#(__mululong_t_1_1)
282 0115 E0 282 movx a,@dptr
285 0118 E0 285 movx a,@dptr
288 011B E0 288 movx a,@dptr
291 011E E0 291 movx a,@dptr
293 0120 90s00r04 293 mov dptr,#__mululong_a_1_1
294 0123 E0 294 movx a,@dptr
297 0126 E0 297 movx a,@dptr
300 0129 E0 300 movx a,@dptr
303 012C E0 303 movx a,@dptr
309 0132 3B 309 addc a,r3
312 0135 3C 312 addc a,r4
315 0138 3D 315 addc a,r5
317 013A 90s00r08 317 mov dptr,#(__mululong_t_1_1)
319 013E F0 319 movx @dptr,a
322 0141 F0 322 movx @dptr,a
325 0144 F0 325 movx @dptr,a
328 0147 F0 328 movx @dptr,a
330 0148 90s00r00 330 mov dptr,#__mululong_PARM_2
331 014B E0 331 movx a,@dptr
334 014E E0 334 movx a,@dptr
337 0151 E0 337 movx a,@dptr
340 0154 E0 340 movx a,@dptr
346 015A 3B 346 addc a,r3
349 015D 3C 349 addc a,r4
352 0160 3D 352 addc a,r5
353 353 ; Peephole 191 removed redundant mov
355 0162 8A 82 355 mov dpl,r2
356 0164 8B 83 356 mov dph,r3
357 0166 8C F0 357 mov b,r4
359 0168 359 C$_mululong.c$87$1$1 ==.
360 0168 360 XG$_mululong$0$0 ==.
362 362 .area CSEG (CODE)