diff options
Diffstat (limited to 'device/lib/stm8/expf.lst')
| -rw-r--r-- | device/lib/stm8/expf.lst | 359 |
1 files changed, 0 insertions, 359 deletions
diff --git a/device/lib/stm8/expf.lst b/device/lib/stm8/expf.lst deleted file mode 100644 index bd2b39d..0000000 --- a/device/lib/stm8/expf.lst +++ /dev/null @@ -1,359 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 3.9.3 #11345 (Linux) - 4 ;-------------------------------------------------------- - 5 .module expf - 6 .optsdcc -mstm8 - 7 - 8 ;-------------------------------------------------------- - 9 ; Public variables in this module - 10 ;-------------------------------------------------------- - 11 .globl _ldexpf - 12 .globl _expf - 13 ;-------------------------------------------------------- - 14 ; ram data - 15 ;-------------------------------------------------------- - 16 .area DATA - 17 ;-------------------------------------------------------- - 18 ; ram data - 19 ;-------------------------------------------------------- - 20 .area INITIALIZED - 21 ;-------------------------------------------------------- - 22 ; absolute external ram data - 23 ;-------------------------------------------------------- - 24 .area DABS (ABS) - 25 - 26 ; default segment ordering for linker - 27 .area HOME - 28 .area GSINIT - 29 .area GSFINAL - 30 .area CONST - 31 .area INITIALIZER - 32 .area CODE - 33 - 34 ;-------------------------------------------------------- - 35 ; global & static initialisations - 36 ;-------------------------------------------------------- - 37 .area HOME - 38 .area GSINIT - 39 .area GSFINAL - 40 .area GSINIT - 41 ;-------------------------------------------------------- - 42 ; Home - 43 ;-------------------------------------------------------- - 44 .area HOME - 45 .area HOME - 46 ;-------------------------------------------------------- - 47 ; code - 48 ;-------------------------------------------------------- - 49 .area CODE - 50 ; ../expf.c: 331: float expf(float x) _FLOAT_FUNC_REENTRANT - 51 ; ----------------------------------------- - 52 ; function expf - 53 ; ----------------------------------------- - 000000 54 _expf: - 000000 52 0F [ 2] 55 sub sp, #15 - 56 ; ../expf.c: 337: if(x>=0.0) - 000002 5F [ 1] 57 clrw x - 000003 89 [ 2] 58 pushw x - 000004 5F [ 1] 59 clrw x - 000005 89 [ 2] 60 pushw x - 000006 1E 18 [ 2] 61 ldw x, (0x18, sp) - 000008 89 [ 2] 62 pushw x - 000009 1E 18 [ 2] 63 ldw x, (0x18, sp) - 00000B 89 [ 2] 64 pushw x - 00000C CDr00r00 [ 4] 65 call ___fslt - 00000F 5B 08 [ 2] 66 addw sp, #8 - 000011 4D [ 1] 67 tnz a - 000012 26 0C [ 1] 68 jrne 00102$ - 69 ; ../expf.c: 338: { y=x; sign=0; } - 000014 16 14 [ 2] 70 ldw y, (0x14, sp) - 000016 17 0E [ 2] 71 ldw (0x0e, sp), y - 000018 16 12 [ 2] 72 ldw y, (0x12, sp) - 00001A 17 0C [ 2] 73 ldw (0x0c, sp), y - 00001C 0F 01 [ 1] 74 clr (0x01, sp) - 00001E 20 0F [ 2] 75 jra 00103$ - 000020 76 00102$: - 77 ; ../expf.c: 340: { y=-x; sign=1; } - 000020 16 14 [ 2] 78 ldw y, (0x14, sp) - 000022 1E 12 [ 2] 79 ldw x, (0x12, sp) - 000024 58 [ 2] 80 sllw x - 000025 8C [ 1] 81 ccf - 000026 56 [ 2] 82 rrcw x - 000027 17 0E [ 2] 83 ldw (0x0e, sp), y - 000029 1F 0C [ 2] 84 ldw (0x0c, sp), x - 00002B A6 01 [ 1] 85 ld a, #0x01 - 00002D 6B 01 [ 1] 86 ld (0x01, sp), a - 00002F 87 00103$: - 88 ; ../expf.c: 342: if(y<EXPEPS) return 1.0; - 00002F 4B 95 [ 1] 89 push #0x95 - 000031 4B BF [ 1] 90 push #0xbf - 000033 4B D6 [ 1] 91 push #0xd6 - 000035 4B 33 [ 1] 92 push #0x33 - 000037 1E 12 [ 2] 93 ldw x, (0x12, sp) - 000039 89 [ 2] 94 pushw x - 00003A 1E 12 [ 2] 95 ldw x, (0x12, sp) - 00003C 89 [ 2] 96 pushw x - 00003D CDr00r00 [ 4] 97 call ___fslt - 000040 5B 08 [ 2] 98 addw sp, #8 - 000042 6B 0B [ 1] 99 ld (0x0b, sp), a - 000044 27 08 [ 1] 100 jreq 00105$ - 000046 5F [ 1] 101 clrw x - 000047 90 AE 3F 80 [ 2] 102 ldw y, #0x3f80 - 00004B CCr01rF1 [ 2] 103 jp 00118$ - 00004E 104 00105$: - 105 ; ../expf.c: 344: if(y>BIGX) - 00004E 1E 0E [ 2] 106 ldw x, (0x0e, sp) - 000050 89 [ 2] 107 pushw x - 000051 1E 0E [ 2] 108 ldw x, (0x0e, sp) - 000053 89 [ 2] 109 pushw x - 000054 4B 18 [ 1] 110 push #0x18 - 000056 4B 72 [ 1] 111 push #0x72 - 000058 4B B1 [ 1] 112 push #0xb1 - 00005A 4B 42 [ 1] 113 push #0x42 - 00005C CDr00r00 [ 4] 114 call ___fslt - 00005F 5B 08 [ 2] 115 addw sp, #8 - 000061 4D [ 1] 116 tnz a - 000062 27 19 [ 1] 117 jreq 00110$ - 118 ; ../expf.c: 346: if(sign) - 000064 0D 01 [ 1] 119 tnz (0x01, sp) - 000066 27 0F [ 1] 120 jreq 00107$ - 121 ; ../expf.c: 348: errno=ERANGE; - 000068 AE 00 22 [ 2] 122 ldw x, #0x0022 - 00006B CFu00u00 [ 2] 123 ldw _errno+0, x - 124 ; ../expf.c: 350: ; - 00006E 5F [ 1] 125 clrw x - 00006F 5A [ 2] 126 decw x - 000070 90 AE 7F 7F [ 2] 127 ldw y, #0x7f7f - 000074 CCr01rF1 [ 2] 128 jp 00118$ - 000077 129 00107$: - 130 ; ../expf.c: 354: return 0.0; - 000077 5F [ 1] 131 clrw x - 000078 90 5F [ 1] 132 clrw y - 00007A CCr01rF1 [ 2] 133 jp 00118$ - 00007D 134 00110$: - 135 ; ../expf.c: 358: z=y*K1; - 00007D 1E 0E [ 2] 136 ldw x, (0x0e, sp) - 00007F 89 [ 2] 137 pushw x - 000080 1E 0E [ 2] 138 ldw x, (0x0e, sp) - 000082 89 [ 2] 139 pushw x - 000083 4B 3B [ 1] 140 push #0x3b - 000085 4B AA [ 1] 141 push #0xaa - 000087 4B B8 [ 1] 142 push #0xb8 - 000089 4B 3F [ 1] 143 push #0x3f - 00008B CDr00r00 [ 4] 144 call ___fsmul - 00008E 5B 08 [ 2] 145 addw sp, #8 - 000090 1F 0A [ 2] 146 ldw (0x0a, sp), x - 000092 17 08 [ 2] 147 ldw (0x08, sp), y - 148 ; ../expf.c: 359: n=z; - 000094 1E 0A [ 2] 149 ldw x, (0x0a, sp) - 000096 89 [ 2] 150 pushw x - 000097 1E 0A [ 2] 151 ldw x, (0x0a, sp) - 000099 89 [ 2] 152 pushw x - 00009A CDr00r00 [ 4] 153 call ___fs2sint - 00009D 5B 04 [ 2] 154 addw sp, #4 - 00009F 1F 02 [ 2] 155 ldw (0x02, sp), x - 156 ; ../expf.c: 361: if(n<0) --n; - 0000A1 0D 02 [ 1] 157 tnz (0x02, sp) - 0000A3 2A 05 [ 1] 158 jrpl 00112$ - 0000A5 1E 02 [ 2] 159 ldw x, (0x02, sp) - 0000A7 5A [ 2] 160 decw x - 0000A8 1F 02 [ 2] 161 ldw (0x02, sp), x - 0000AA 162 00112$: - 163 ; ../expf.c: 362: if(z-n>=0.5) ++n; - 0000AA 1E 02 [ 2] 164 ldw x, (0x02, sp) - 0000AC 89 [ 2] 165 pushw x - 0000AD CDr00r00 [ 4] 166 call ___sint2fs - 0000B0 5B 02 [ 2] 167 addw sp, #2 - 0000B2 89 [ 2] 168 pushw x - 0000B3 90 89 [ 2] 169 pushw y - 0000B5 1E 0E [ 2] 170 ldw x, (0x0e, sp) - 0000B7 89 [ 2] 171 pushw x - 0000B8 1E 0E [ 2] 172 ldw x, (0x0e, sp) - 0000BA 89 [ 2] 173 pushw x - 0000BB CDr00r00 [ 4] 174 call ___fssub - 0000BE 5B 08 [ 2] 175 addw sp, #8 - 0000C0 4B 00 [ 1] 176 push #0x00 - 0000C2 4B 00 [ 1] 177 push #0x00 - 0000C4 4B 00 [ 1] 178 push #0x00 - 0000C6 4B 3F [ 1] 179 push #0x3f - 0000C8 89 [ 2] 180 pushw x - 0000C9 90 89 [ 2] 181 pushw y - 0000CB CDr00r00 [ 4] 182 call ___fslt - 0000CE 5B 08 [ 2] 183 addw sp, #8 - 0000D0 4D [ 1] 184 tnz a - 0000D1 26 05 [ 1] 185 jrne 00114$ - 0000D3 1E 02 [ 2] 186 ldw x, (0x02, sp) - 0000D5 5C [ 1] 187 incw x - 0000D6 1F 02 [ 2] 188 ldw (0x02, sp), x - 0000D8 189 00114$: - 190 ; ../expf.c: 363: xn=n; - 0000D8 1E 02 [ 2] 191 ldw x, (0x02, sp) - 0000DA 89 [ 2] 192 pushw x - 0000DB CDr00r00 [ 4] 193 call ___sint2fs - 0000DE 5B 02 [ 2] 194 addw sp, #2 - 0000E0 1F 0A [ 2] 195 ldw (0x0a, sp), x - 0000E2 17 08 [ 2] 196 ldw (0x08, sp), y - 197 ; ../expf.c: 364: g=((y-xn*C1))-xn*C2; - 0000E4 1E 0A [ 2] 198 ldw x, (0x0a, sp) - 0000E6 89 [ 2] 199 pushw x - 0000E7 1E 0A [ 2] 200 ldw x, (0x0a, sp) - 0000E9 89 [ 2] 201 pushw x - 0000EA 4B 00 [ 1] 202 push #0x00 - 0000EC 4B 80 [ 1] 203 push #0x80 - 0000EE 4B 31 [ 1] 204 push #0x31 - 0000F0 4B 3F [ 1] 205 push #0x3f - 0000F2 CDr00r00 [ 4] 206 call ___fsmul - 0000F5 5B 08 [ 2] 207 addw sp, #8 - 0000F7 89 [ 2] 208 pushw x - 0000F8 90 89 [ 2] 209 pushw y - 0000FA 1E 12 [ 2] 210 ldw x, (0x12, sp) - 0000FC 89 [ 2] 211 pushw x - 0000FD 1E 12 [ 2] 212 ldw x, (0x12, sp) - 0000FF 89 [ 2] 213 pushw x - 000100 CDr00r00 [ 4] 214 call ___fssub - 000103 5B 08 [ 2] 215 addw sp, #8 - 000105 1F 0E [ 2] 216 ldw (0x0e, sp), x - 000107 17 0C [ 2] 217 ldw (0x0c, sp), y - 000109 1E 0A [ 2] 218 ldw x, (0x0a, sp) - 00010B 89 [ 2] 219 pushw x - 00010C 1E 0A [ 2] 220 ldw x, (0x0a, sp) - 00010E 89 [ 2] 221 pushw x - 00010F 4B 83 [ 1] 222 push #0x83 - 000111 4B 80 [ 1] 223 push #0x80 - 000113 4B 5E [ 1] 224 push #0x5e - 000115 4B B9 [ 1] 225 push #0xb9 - 000117 CDr00r00 [ 4] 226 call ___fsmul - 00011A 5B 08 [ 2] 227 addw sp, #8 - 00011C 89 [ 2] 228 pushw x - 00011D 90 89 [ 2] 229 pushw y - 00011F 1E 12 [ 2] 230 ldw x, (0x12, sp) - 000121 89 [ 2] 231 pushw x - 000122 1E 12 [ 2] 232 ldw x, (0x12, sp) - 000124 89 [ 2] 233 pushw x - 000125 CDr00r00 [ 4] 234 call ___fssub - 000128 5B 08 [ 2] 235 addw sp, #8 - 00012A 1F 06 [ 2] 236 ldw (0x06, sp), x - 00012C 17 04 [ 2] 237 ldw (0x04, sp), y - 238 ; ../expf.c: 365: z=g*g; - 00012E 1E 06 [ 2] 239 ldw x, (0x06, sp) - 000130 89 [ 2] 240 pushw x - 000131 1E 06 [ 2] 241 ldw x, (0x06, sp) - 000133 89 [ 2] 242 pushw x - 000134 1E 0A [ 2] 243 ldw x, (0x0a, sp) - 000136 89 [ 2] 244 pushw x - 000137 1E 0A [ 2] 245 ldw x, (0x0a, sp) - 000139 89 [ 2] 246 pushw x - 00013A CDr00r00 [ 4] 247 call ___fsmul - 00013D 5B 08 [ 2] 248 addw sp, #8 - 00013F 1F 0A [ 2] 249 ldw (0x0a, sp), x - 000141 17 08 [ 2] 250 ldw (0x08, sp), y - 251 ; ../expf.c: 366: r=P(z)*g; - 000143 1E 0A [ 2] 252 ldw x, (0x0a, sp) - 000145 89 [ 2] 253 pushw x - 000146 1E 0A [ 2] 254 ldw x, (0x0a, sp) - 000148 89 [ 2] 255 pushw x - 000149 4B 08 [ 1] 256 push #0x08 - 00014B 4B 53 [ 1] 257 push #0x53 - 00014D 4B 88 [ 1] 258 push #0x88 - 00014F 4B 3B [ 1] 259 push #0x3b - 000151 CDr00r00 [ 4] 260 call ___fsmul - 000154 5B 08 [ 2] 261 addw sp, #8 - 000156 4B 00 [ 1] 262 push #0x00 - 000158 4B 00 [ 1] 263 push #0x00 - 00015A 4B 80 [ 1] 264 push #0x80 - 00015C 4B 3E [ 1] 265 push #0x3e - 00015E 89 [ 2] 266 pushw x - 00015F 90 89 [ 2] 267 pushw y - 000161 CDr00r00 [ 4] 268 call ___fsadd - 000164 5B 08 [ 2] 269 addw sp, #8 - 000166 1F 0E [ 2] 270 ldw (0x0e, sp), x - 000168 1E 06 [ 2] 271 ldw x, (0x06, sp) - 00016A 89 [ 2] 272 pushw x - 00016B 1E 06 [ 2] 273 ldw x, (0x06, sp) - 00016D 89 [ 2] 274 pushw x - 00016E 1E 12 [ 2] 275 ldw x, (0x12, sp) - 000170 89 [ 2] 276 pushw x - 000171 90 89 [ 2] 277 pushw y - 000173 CDr00r00 [ 4] 278 call ___fsmul - 000176 5B 08 [ 2] 279 addw sp, #8 - 000178 1F 0E [ 2] 280 ldw (0x0e, sp), x - 00017A 17 0C [ 2] 281 ldw (0x0c, sp), y - 282 ; ../expf.c: 367: r=0.5+(r/(Q(z)-r)); - 00017C 1E 0A [ 2] 283 ldw x, (0x0a, sp) - 00017E 89 [ 2] 284 pushw x - 00017F 1E 0A [ 2] 285 ldw x, (0x0a, sp) - 000181 89 [ 2] 286 pushw x - 000182 4B 5B [ 1] 287 push #0x5b - 000184 4B BF [ 1] 288 push #0xbf - 000186 4B 4C [ 1] 289 push #0x4c - 000188 4B 3D [ 1] 290 push #0x3d - 00018A CDr00r00 [ 4] 291 call ___fsmul - 00018D 5B 08 [ 2] 292 addw sp, #8 - 00018F 4B 00 [ 1] 293 push #0x00 - 000191 4B 00 [ 1] 294 push #0x00 - 000193 4B 00 [ 1] 295 push #0x00 - 000195 4B 3F [ 1] 296 push #0x3f - 000197 89 [ 2] 297 pushw x - 000198 90 89 [ 2] 298 pushw y - 00019A CDr00r00 [ 4] 299 call ___fsadd - 00019D 5B 08 [ 2] 300 addw sp, #8 - 00019F 1F 0A [ 2] 301 ldw (0x0a, sp), x - 0001A1 1E 0E [ 2] 302 ldw x, (0x0e, sp) - 0001A3 89 [ 2] 303 pushw x - 0001A4 1E 0E [ 2] 304 ldw x, (0x0e, sp) - 0001A6 89 [ 2] 305 pushw x - 0001A7 1E 0E [ 2] 306 ldw x, (0x0e, sp) - 0001A9 89 [ 2] 307 pushw x - 0001AA 90 89 [ 2] 308 pushw y - 0001AC CDr00r00 [ 4] 309 call ___fssub - 0001AF 5B 08 [ 2] 310 addw sp, #8 - 0001B1 89 [ 2] 311 pushw x - 0001B2 90 89 [ 2] 312 pushw y - 0001B4 1E 12 [ 2] 313 ldw x, (0x12, sp) - 0001B6 89 [ 2] 314 pushw x - 0001B7 1E 12 [ 2] 315 ldw x, (0x12, sp) - 0001B9 89 [ 2] 316 pushw x - 0001BA CDr00r00 [ 4] 317 call ___fsdiv - 0001BD 5B 08 [ 2] 318 addw sp, #8 - 0001BF 4B 00 [ 1] 319 push #0x00 - 0001C1 4B 00 [ 1] 320 push #0x00 - 0001C3 4B 00 [ 1] 321 push #0x00 - 0001C5 4B 3F [ 1] 322 push #0x3f - 0001C7 89 [ 2] 323 pushw x - 0001C8 90 89 [ 2] 324 pushw y - 0001CA CDr00r00 [ 4] 325 call ___fsadd - 0001CD 5B 08 [ 2] 326 addw sp, #8 - 0001CF 1F 0E [ 2] 327 ldw (0x0e, sp), x - 328 ; ../expf.c: 369: n++; - 0001D1 1E 02 [ 2] 329 ldw x, (0x02, sp) - 0001D3 5C [ 1] 330 incw x - 331 ; ../expf.c: 370: z=ldexpf(r, n); - 0001D4 89 [ 2] 332 pushw x - 0001D5 1E 10 [ 2] 333 ldw x, (0x10, sp) - 0001D7 89 [ 2] 334 pushw x - 0001D8 90 89 [ 2] 335 pushw y - 0001DA CDr00r00 [ 4] 336 call _ldexpf - 0001DD 5B 06 [ 2] 337 addw sp, #6 - 338 ; ../expf.c: 371: if(sign) - 0001DF 0D 01 [ 1] 339 tnz (0x01, sp) - 0001E1 27 0E [ 1] 340 jreq 00116$ - 341 ; ../expf.c: 372: return 1.0/z; - 0001E3 89 [ 2] 342 pushw x - 0001E4 90 89 [ 2] 343 pushw y - 0001E6 5F [ 1] 344 clrw x - 0001E7 89 [ 2] 345 pushw x - 0001E8 4B 80 [ 1] 346 push #0x80 - 0001EA 4B 3F [ 1] 347 push #0x3f - 0001EC CDr00r00 [ 4] 348 call ___fsdiv - 0001EF 5B 08 [ 2] 349 addw sp, #8 - 350 ; ../expf.c: 374: return z; - 0001F1 351 00116$: - 0001F1 352 00118$: - 353 ; ../expf.c: 375: } - 0001F1 5B 0F [ 2] 354 addw sp, #15 - 0001F3 81 [ 4] 355 ret - 356 .area CODE - 357 .area CONST - 358 .area INITIALIZER - 359 .area CABS (ABS) |
