1 ;-------------------------------------------------------- 2 ; File Created by SDCC : FreeWare ANSI-C Compiler 3 ; Version 2.1.9Ga Sun Jan 16 17:31:32 2000 4 5 ;-------------------------------------------------------- 6 .module _mululong 7 ;-------------------------------------------------------- 8 ; publics variables in this module 9 ;-------------------------------------------------------- 10 .globl __mululong_PARM_2 11 .globl __mululong 12 ;-------------------------------------------------------- 13 ; special function registers 14 ;-------------------------------------------------------- 15 ;-------------------------------------------------------- 16 ; special function bits 17 ;-------------------------------------------------------- 18 ;-------------------------------------------------------- 19 ; internal ram data 20 ;-------------------------------------------------------- 21 .area DSEG (DATA) 22 ;-------------------------------------------------------- 23 ; overlayable items in internal ram 24 ;-------------------------------------------------------- 25 .area OSEG (OVR,DATA) 26 ;-------------------------------------------------------- 27 ; indirectly addressable internal ram data 28 ;-------------------------------------------------------- 29 .area ISEG (DATA) 30 ;-------------------------------------------------------- 31 ; bit data 32 ;-------------------------------------------------------- 33 .area BSEG (BIT) 34 ;-------------------------------------------------------- 35 ; external ram data 36 ;-------------------------------------------------------- 37 .area XSEG (XDATA) 0000 38 __mululong_PARM_2: 0000 39 .ds 0x0004 0004 40 __mululong_a_1_1: 0004 41 .ds 0x0004 0008 42 __mululong_t_1_1: 0008 43 .ds 0x0004 44 ;-------------------------------------------------------- 45 ; global & static initialisations 46 ;-------------------------------------------------------- 47 .area GSINIT (CODE) 48 ;-------------------------------------------------------- 49 ; code 50 ;-------------------------------------------------------- 51 .area CSEG (CODE) 0000 52 G$_mululong$0$0 ==. 53 ; _mululong.c 59 54 ; ----------------------------------------- 55 ; function _mululong 56 ; ----------------------------------------- 0000 57 __mululong: 0002 58 ar2 = 0x02 0003 59 ar3 = 0x03 0004 60 ar4 = 0x04 0005 61 ar5 = 0x05 0006 62 ar6 = 0x06 0007 63 ar7 = 0x07 0000 64 ar0 = 0x00 0001 65 ar1 = 0x01 66 ; _mululong.c 86 0000 C0 E0 67 push acc 0002 C0 F0 68 push b 0004 C0 83 69 push dph 0006 C0 82 70 push dpl 0008 90s00r04 71 mov dptr,#__mululong_a_1_1 000B D0 E0 72 pop acc 000D F0 73 movx @dptr,a 000E D0 E0 74 pop acc 0010 A3 75 inc dptr 0011 F0 76 movx @dptr,a 0012 D0 E0 77 pop acc 0014 A3 78 inc dptr 0015 F0 79 movx @dptr,a 0016 D0 E0 80 pop acc 0018 A3 81 inc dptr 0019 F0 82 movx @dptr,a 83 ; _mululong.c 63 001A 90s00r04 84 mov dptr,#(__mululong_a_1_1) 001D E0 85 movx a,@dptr 001E FA 86 mov r2,a 001F 90s00r02 87 mov dptr,#(0x0002 + __mululong_PARM_2) 0022 E0 88 movx a,@dptr 0023 FB 89 mov r3,a 0024 8B F0 90 mov b,r3 0026 EA 91 mov a,r2 0027 A4 92 mul ab 0028 FB 93 mov r3,a 0029 AC F0 94 mov r4,b 002B 90s00r0A 95 mov dptr,#(0x0002 + __mululong_t_1_1) 002E EB 96 mov a,r3 002F F0 97 movx @dptr,a 0030 A3 98 inc dptr 0031 EC 99 mov a,r4 0032 F0 100 movx @dptr,a 101 ; _mululong.c 64 0033 90s00r00 102 mov dptr,#(__mululong_PARM_2) 0036 E0 103 movx a,@dptr 0037 FB 104 mov r3,a 0038 8B F0 105 mov b,r3 003A EA 106 mov a,r2 003B A4 107 mul ab 003C FC 108 mov r4,a 003D AD F0 109 mov r5,b 003F 90s00r08 110 mov dptr,#(__mululong_t_1_1) 0042 EC 111 mov a,r4 0043 F0 112 movx @dptr,a 0044 A3 113 inc dptr 0045 ED 114 mov a,r5 0046 F0 115 movx @dptr,a 116 ; _mululong.c 65 0047 90s00r0B 117 mov dptr,#(0x0003 + __mululong_t_1_1) 004A E0 118 movx a,@dptr 004B FC 119 mov r4,a 004C 90s00r07 120 mov dptr,#(0x0003 + __mululong_a_1_1) 004F E0 121 movx a,@dptr 0050 FD 122 mov r5,a 123 ; _mululong.c 66 0051 8B F0 124 mov b,r3 0053 ED 125 mov a,r5 0054 A4 126 mul ab 127 ; Peephole 105 removed redundant mov 0055 FD 128 mov r5,a 0056 2C 129 add a,r4 130 ; Peephole 100 removed redundant mov 0057 FC 131 mov r4,a 0058 90s00r0B 132 mov dptr,#(0x0003 + __mululong_t_1_1) 005B F0 133 movx @dptr,a 134 ; _mululong.c 67 005C 90s00r0B 135 mov dptr,#(0x0003 + __mululong_t_1_1) 005F E0 136 movx a,@dptr 0060 FC 137 mov r4,a 0061 90s00r06 138 mov dptr,#(0x0002 + __mululong_a_1_1) 0064 E0 139 movx a,@dptr 0065 FD 140 mov r5,a 141 ; _mululong.c 68 0066 90s00r01 142 mov dptr,#(0x0001 + __mululong_PARM_2) 0069 E0 143 movx a,@dptr 006A FE 144 mov r6,a 006B 8E F0 145 mov b,r6 006D ED 146 mov a,r5 006E A4 147 mul ab 148 ; Peephole 105 removed redundant mov 006F FD 149 mov r5,a 0070 2C 150 add a,r4 151 ; Peephole 100 removed redundant mov 0071 FC 152 mov r4,a 0072 90s00r0B 153 mov dptr,#(0x0003 + __mululong_t_1_1) 0075 F0 154 movx @dptr,a 155 ; _mululong.c 69 0076 90s00r0A 156 mov dptr,#(0x0002 + __mululong_t_1_1) 0079 E0 157 movx a,@dptr 007A FC 158 mov r4,a 007B A3 159 inc dptr 007C E0 160 movx a,@dptr 007D FD 161 mov r5,a 007E 90s00r06 162 mov dptr,#(0x0002 + __mululong_a_1_1) 0081 E0 163 movx a,@dptr 0082 FE 164 mov r6,a 0083 8B F0 165 mov b,r3 0085 EE 166 mov a,r6 0086 A4 167 mul ab 0087 FE 168 mov r6,a 0088 AF F0 169 mov r7,b 008A EE 170 mov a,r6 008B 2C 171 add a,r4 008C FC 172 mov r4,a 008D EF 173 mov a,r7 008E 3D 174 addc a,r5 008F FD 175 mov r5,a 0090 90s00r0A 176 mov dptr,#(0x0002 + __mululong_t_1_1) 0093 EC 177 mov a,r4 0094 F0 178 movx @dptr,a 0095 A3 179 inc dptr 0096 ED 180 mov a,r5 0097 F0 181 movx @dptr,a 182 ; _mululong.c 71 0098 90s00r0A 183 mov dptr,#(0x0002 + __mululong_t_1_1) 009B E0 184 movx a,@dptr 009C FC 185 mov r4,a 009D A3 186 inc dptr 009E E0 187 movx a,@dptr 009F FD 188 mov r5,a 00A0 90s00r05 189 mov dptr,#(0x0001 + __mululong_a_1_1) 00A3 E0 190 movx a,@dptr 00A4 FE 191 mov r6,a 00A5 90s00r01 192 mov dptr,#(0x0001 + __mululong_PARM_2) 00A8 E0 193 movx a,@dptr 00A9 FF 194 mov r7,a 00AA 8F F0 195 mov b,r7 00AC EE 196 mov a,r6 00AD A4 197 mul ab 00AE FF 198 mov r7,a 00AF AE F0 199 mov r6,b 00B1 EF 200 mov a,r7 00B2 2C 201 add a,r4 00B3 FC 202 mov r4,a 00B4 EE 203 mov a,r6 00B5 3D 204 addc a,r5 00B6 FD 205 mov r5,a 00B7 90s00r0A 206 mov dptr,#(0x0002 + __mululong_t_1_1) 00BA EC 207 mov a,r4 00BB F0 208 movx @dptr,a 00BC A3 209 inc dptr 00BD ED 210 mov a,r5 00BE F0 211 movx @dptr,a 212 ; _mululong.c 73 00BF 90s00r05 213 mov dptr,#(0x0001 + __mululong_a_1_1) 00C2 E0 214 movx a,@dptr 00C3 FC 215 mov r4,a 216 ; _mululong.c 74 00C4 90s00r02 217 mov dptr,#(0x0002 + __mululong_PARM_2) 00C7 E0 218 movx a,@dptr 00C8 FD 219 mov r5,a 00C9 8D F0 220 mov b,r5 00CB EC 221 mov a,r4 00CC A4 222 mul ab 223 ; Peephole 100 removed redundant mov 00CD FC 224 mov r4,a 00CE 90s00r07 225 mov dptr,#(0x0003 + __mululong_a_1_1) 00D1 F0 226 movx @dptr,a 227 ; _mululong.c 75 00D2 90s00r05 228 mov dptr,#(0x0001 + __mululong_a_1_1) 00D5 E0 229 movx a,@dptr 00D6 FC 230 mov r4,a 231 ; _mululong.c 76 00D7 8B F0 232 mov b,r3 00D9 EC 233 mov a,r4 00DA A4 234 mul ab 00DB FB 235 mov r3,a 00DC AD F0 236 mov r5,b 00DE 90s00r05 237 mov dptr,#(0x0001 + __mululong_a_1_1) 00E1 EB 238 mov a,r3 00E2 F0 239 movx @dptr,a 00E3 A3 240 inc dptr 00E4 ED 241 mov a,r5 00E5 F0 242 movx @dptr,a 243 ; _mululong.c 78 244 ; _mululong.c 79 00E6 90s00r03 245 mov dptr,#(0x0003 + __mululong_PARM_2) 00E9 E0 246 movx a,@dptr 00EA FB 247 mov r3,a 00EB 8B F0 248 mov b,r3 00ED EA 249 mov a,r2 00EE A4 250 mul ab 251 ; Peephole 100 removed redundant mov 00EF FB 252 mov r3,a 00F0 90s00r03 253 mov dptr,#(0x0003 + __mululong_PARM_2) 00F3 F0 254 movx @dptr,a 255 ; _mululong.c 81 00F4 90s00r01 256 mov dptr,#(0x0001 + __mululong_PARM_2) 00F7 E0 257 movx a,@dptr 00F8 FB 258 mov r3,a 00F9 8B F0 259 mov b,r3 00FB EA 260 mov a,r2 00FC A4 261 mul ab 00FD FA 262 mov r2,a 00FE AC F0 263 mov r4,b 0100 90s00r01 264 mov dptr,#(0x0001 + __mululong_PARM_2) 0103 EA 265 mov a,r2 0104 F0 266 movx @dptr,a 0105 A3 267 inc dptr 0106 EC 268 mov a,r4 0107 F0 269 movx @dptr,a 270 ; _mululong.c 82 0108 90s00r00 271 mov dptr,#(__mululong_PARM_2) 272 ; Peephole 180 changed mov to clr 010B E4 273 clr a 010C F0 274 movx @dptr,a 275 ; _mululong.c 83 010D 90s00r04 276 mov dptr,#(__mululong_a_1_1) 277 ; Peephole 180 changed mov to clr 0110 E4 278 clr a 0111 F0 279 movx @dptr,a 280 ; _mululong.c 84 0112 90s00r08 281 mov dptr,#(__mululong_t_1_1) 0115 E0 282 movx a,@dptr 0116 FA 283 mov r2,a 0117 A3 284 inc dptr 0118 E0 285 movx a,@dptr 0119 FB 286 mov r3,a 011A A3 287 inc dptr 011B E0 288 movx a,@dptr 011C FC 289 mov r4,a 011D A3 290 inc dptr 011E E0 291 movx a,@dptr 011F FD 292 mov r5,a 0120 90s00r04 293 mov dptr,#__mululong_a_1_1 0123 E0 294 movx a,@dptr 0124 FE 295 mov r6,a 0125 A3 296 inc dptr 0126 E0 297 movx a,@dptr 0127 FF 298 mov r7,a 0128 A3 299 inc dptr 0129 E0 300 movx a,@dptr 012A F8 301 mov r0,a 012B A3 302 inc dptr 012C E0 303 movx a,@dptr 012D F9 304 mov r1,a 012E EE 305 mov a,r6 012F 2A 306 add a,r2 0130 FA 307 mov r2,a 0131 EF 308 mov a,r7 0132 3B 309 addc a,r3 0133 FB 310 mov r3,a 0134 E8 311 mov a,r0 0135 3C 312 addc a,r4 0136 FC 313 mov r4,a 0137 E9 314 mov a,r1 0138 3D 315 addc a,r5 0139 FD 316 mov r5,a 013A 90s00r08 317 mov dptr,#(__mululong_t_1_1) 013D EA 318 mov a,r2 013E F0 319 movx @dptr,a 013F A3 320 inc dptr 0140 EB 321 mov a,r3 0141 F0 322 movx @dptr,a 0142 A3 323 inc dptr 0143 EC 324 mov a,r4 0144 F0 325 movx @dptr,a 0145 A3 326 inc dptr 0146 ED 327 mov a,r5 0147 F0 328 movx @dptr,a 329 ; _mululong.c 86 0148 90s00r00 330 mov dptr,#__mululong_PARM_2 014B E0 331 movx a,@dptr 014C FE 332 mov r6,a 014D A3 333 inc dptr 014E E0 334 movx a,@dptr 014F FF 335 mov r7,a 0150 A3 336 inc dptr 0151 E0 337 movx a,@dptr 0152 F8 338 mov r0,a 0153 A3 339 inc dptr 0154 E0 340 movx a,@dptr 0155 F9 341 mov r1,a 0156 EE 342 mov a,r6 0157 2A 343 add a,r2 0158 FA 344 mov r2,a 0159 EF 345 mov a,r7 015A 3B 346 addc a,r3 015B FB 347 mov r3,a 015C E8 348 mov a,r0 015D 3C 349 addc a,r4 015E FC 350 mov r4,a 015F E9 351 mov a,r1 0160 3D 352 addc a,r5 353 ; Peephole 191 removed redundant mov 0161 FD 354 mov r5,a 0162 8A 82 355 mov dpl,r2 0164 8B 83 356 mov dph,r3 0166 8C F0 357 mov b,r4 0168 358 00101$: 0168 359 C$_mululong.c$87$1$1 ==. 0168 360 XG$_mululong$0$0 ==. 0168 22 361 ret 362 .area CSEG (CODE)