diff options
Diffstat (limited to 'device/lib/stm8/_atof.lst')
| -rw-r--r-- | device/lib/stm8/_atof.lst | 310 |
1 files changed, 0 insertions, 310 deletions
diff --git a/device/lib/stm8/_atof.lst b/device/lib/stm8/_atof.lst deleted file mode 100644 index 1b39e28..0000000 --- a/device/lib/stm8/_atof.lst +++ /dev/null @@ -1,310 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 3.9.3 #11345 (Linux) - 4 ;-------------------------------------------------------- - 5 .module _atof - 6 .optsdcc -mstm8 - 7 - 8 ;-------------------------------------------------------- - 9 ; Public variables in this module - 10 ;-------------------------------------------------------- - 11 .globl _atoi - 12 .globl _toupper - 13 .globl _isspace - 14 .globl _atof - 15 ;-------------------------------------------------------- - 16 ; ram data - 17 ;-------------------------------------------------------- - 18 .area DATA - 19 ;-------------------------------------------------------- - 20 ; ram data - 21 ;-------------------------------------------------------- - 22 .area INITIALIZED - 23 ;-------------------------------------------------------- - 24 ; absolute external ram data - 25 ;-------------------------------------------------------- - 26 .area DABS (ABS) - 27 - 28 ; default segment ordering for linker - 29 .area HOME - 30 .area GSINIT - 31 .area GSFINAL - 32 .area CONST - 33 .area INITIALIZER - 34 .area CODE - 35 - 36 ;-------------------------------------------------------- - 37 ; global & static initialisations - 38 ;-------------------------------------------------------- - 39 .area HOME - 40 .area GSINIT - 41 .area GSFINAL - 42 .area GSINIT - 43 ;-------------------------------------------------------- - 44 ; Home - 45 ;-------------------------------------------------------- - 46 .area HOME - 47 .area HOME - 48 ;-------------------------------------------------------- - 49 ; code - 50 ;-------------------------------------------------------- - 51 .area CODE - 52 ; ../_atof.c: 33: float atof(const char * s) - 53 ; ----------------------------------------- - 54 ; function atof - 55 ; ----------------------------------------- - 000000 56 _atof: - 000000 52 11 [ 2] 57 sub sp, #17 - 58 ; ../_atof.c: 40: while (isspace(*s)) s++; - 000002 16 14 [ 2] 59 ldw y, (0x14, sp) - 000004 17 10 [ 2] 60 ldw (0x10, sp), y - 000006 61 00101$: - 000006 1E 10 [ 2] 62 ldw x, (0x10, sp) - 000008 F6 [ 1] 63 ld a, (x) - 000009 5F [ 1] 64 clrw x - 00000A 97 [ 1] 65 ld xl, a - 00000B 89 [ 2] 66 pushw x - 00000C CDr00r00 [ 4] 67 call _isspace - 00000F 5B 02 [ 2] 68 addw sp, #2 - 000011 16 10 [ 2] 69 ldw y, (0x10, sp) - 000013 90 5C [ 1] 70 incw y - 000015 5D [ 2] 71 tnzw x - 000016 27 04 [ 1] 72 jreq 00155$ - 000018 17 10 [ 2] 73 ldw (0x10, sp), y - 00001A 20 EA [ 2] 74 jra 00101$ - 00001C 75 00155$: - 00001C 1E 10 [ 2] 76 ldw x, (0x10, sp) - 00001E 1F 14 [ 2] 77 ldw (0x14, sp), x - 78 ; ../_atof.c: 43: if (*s == '-') - 000020 1E 10 [ 2] 79 ldw x, (0x10, sp) - 000022 F6 [ 1] 80 ld a, (x) - 000023 A1 2D [ 1] 81 cp a, #0x2d - 000025 26 08 [ 1] 82 jrne 00107$ - 83 ; ../_atof.c: 45: sign=1; - 000027 A6 01 [ 1] 84 ld a, #0x01 - 000029 6B 05 [ 1] 85 ld (0x05, sp), a - 86 ; ../_atof.c: 46: s++; - 00002B 17 14 [ 2] 87 ldw (0x14, sp), y - 00002D 20 08 [ 2] 88 jra 00108$ - 00002F 89 00107$: - 90 ; ../_atof.c: 50: sign=0; - 00002F 0F 05 [ 1] 91 clr (0x05, sp) - 92 ; ../_atof.c: 51: if (*s == '+') s++; - 000031 A1 2B [ 1] 93 cp a, #0x2b - 000033 26 02 [ 1] 94 jrne 00108$ - 000035 17 14 [ 2] 95 ldw (0x14, sp), y - 000037 96 00108$: - 97 ; ../_atof.c: 55: for (value=0.0; isdigit(*s); s++) - 000037 5F [ 1] 98 clrw x - 000038 1F 08 [ 2] 99 ldw (0x08, sp), x - 00003A 1F 06 [ 2] 100 ldw (0x06, sp), x - 00003C 16 14 [ 2] 101 ldw y, (0x14, sp) - 00003E 17 0C [ 2] 102 ldw (0x0c, sp), y - 000040 103 00126$: - 000040 1E 0C [ 2] 104 ldw x, (0x0c, sp) - 000042 F6 [ 1] 105 ld a, (x) - 000043 6B 0E [ 1] 106 ld (0x0e, sp), a - 000045 6B 0F [ 1] 107 ld (0x0f, sp), a - 000047 1E 0C [ 2] 108 ldw x, (0x0c, sp) - 000049 5C [ 1] 109 incw x - 00004A 1F 10 [ 2] 110 ldw (0x10, sp), x - 111 ; ./../../include/ctype.h: 62: return ((unsigned char)c >= '0' && (unsigned char)c <= '9'); - 00004C 7B 0F [ 1] 112 ld a, (0x0f, sp) - 00004E A1 30 [ 1] 113 cp a, #0x30 - 000050 25 3E [ 1] 114 jrc 00156$ - 000052 A1 39 [ 1] 115 cp a, #0x39 - 000054 22 3A [ 1] 116 jrugt 00156$ - 117 ; ../_atof.c: 57: value=10.0*value+(*s-'0'); - 000056 1E 08 [ 2] 118 ldw x, (0x08, sp) - 000058 89 [ 2] 119 pushw x - 000059 1E 08 [ 2] 120 ldw x, (0x08, sp) - 00005B 89 [ 2] 121 pushw x - 00005C 5F [ 1] 122 clrw x - 00005D 89 [ 2] 123 pushw x - 00005E 4B 20 [ 1] 124 push #0x20 - 000060 4B 41 [ 1] 125 push #0x41 - 000062 CDr00r00 [ 4] 126 call ___fsmul - 000065 5B 08 [ 2] 127 addw sp, #8 - 000067 1F 0C [ 2] 128 ldw (0x0c, sp), x - 000069 17 0A [ 2] 129 ldw (0x0a, sp), y - 00006B 5F [ 1] 130 clrw x - 00006C 7B 0E [ 1] 131 ld a, (0x0e, sp) - 00006E 97 [ 1] 132 ld xl, a - 00006F 1D 00 30 [ 2] 133 subw x, #0x0030 - 000072 89 [ 2] 134 pushw x - 000073 CDr00r00 [ 4] 135 call ___sint2fs - 000076 5B 02 [ 2] 136 addw sp, #2 - 000078 89 [ 2] 137 pushw x - 000079 90 89 [ 2] 138 pushw y - 00007B 1E 10 [ 2] 139 ldw x, (0x10, sp) - 00007D 89 [ 2] 140 pushw x - 00007E 1E 10 [ 2] 141 ldw x, (0x10, sp) - 000080 89 [ 2] 142 pushw x - 000081 CDr00r00 [ 4] 143 call ___fsadd - 000084 5B 08 [ 2] 144 addw sp, #8 - 000086 1F 08 [ 2] 145 ldw (0x08, sp), x - 000088 17 06 [ 2] 146 ldw (0x06, sp), y - 147 ; ../_atof.c: 55: for (value=0.0; isdigit(*s); s++) - 00008A 16 10 [ 2] 148 ldw y, (0x10, sp) - 00008C 17 0C [ 2] 149 ldw (0x0c, sp), y - 00008E 20 B0 [ 2] 150 jra 00126$ - 000090 151 00156$: - 000090 16 0C [ 2] 152 ldw y, (0x0c, sp) - 000092 17 14 [ 2] 153 ldw (0x14, sp), y - 154 ; ../_atof.c: 61: if (*s == '.') - 000094 7B 0E [ 1] 155 ld a, (0x0e, sp) - 000096 A1 2E [ 1] 156 cp a, #0x2e - 000098 26 6E [ 1] 157 jrne 00112$ - 158 ; ../_atof.c: 64: for (fraction=0.1; isdigit(*s); s++) - 00009A AE CC CD [ 2] 159 ldw x, #0xcccd - 00009D 1F 0C [ 2] 160 ldw (0x0c, sp), x - 00009F AE 3D CC [ 2] 161 ldw x, #0x3dcc - 0000A2 1F 0A [ 2] 162 ldw (0x0a, sp), x - 0000A4 163 00129$: - 0000A4 1E 10 [ 2] 164 ldw x, (0x10, sp) - 0000A6 F6 [ 1] 165 ld a, (x) - 0000A7 6B 0E [ 1] 166 ld (0x0e, sp), a - 167 ; ./../../include/ctype.h: 62: return ((unsigned char)c >= '0' && (unsigned char)c <= '9'); - 0000A9 6B 0F [ 1] 168 ld (0x0f, sp), a - 0000AB A1 30 [ 1] 169 cp a, #0x30 - 0000AD 25 55 [ 1] 170 jrc 00157$ - 0000AF 7B 0F [ 1] 171 ld a, (0x0f, sp) - 0000B1 A1 39 [ 1] 172 cp a, #0x39 - 0000B3 22 4F [ 1] 173 jrugt 00157$ - 174 ; ../_atof.c: 66: value+=(*s-'0')*fraction; - 0000B5 5F [ 1] 175 clrw x - 0000B6 7B 0E [ 1] 176 ld a, (0x0e, sp) - 0000B8 97 [ 1] 177 ld xl, a - 0000B9 1D 00 30 [ 2] 178 subw x, #0x0030 - 0000BC 89 [ 2] 179 pushw x - 0000BD CDr00r00 [ 4] 180 call ___sint2fs - 0000C0 5B 02 [ 2] 181 addw sp, #2 - 0000C2 1F 03 [ 2] 182 ldw (0x03, sp), x - 0000C4 1E 0C [ 2] 183 ldw x, (0x0c, sp) - 0000C6 89 [ 2] 184 pushw x - 0000C7 1E 0C [ 2] 185 ldw x, (0x0c, sp) - 0000C9 89 [ 2] 186 pushw x - 0000CA 1E 07 [ 2] 187 ldw x, (0x07, sp) - 0000CC 89 [ 2] 188 pushw x - 0000CD 90 89 [ 2] 189 pushw y - 0000CF CDr00r00 [ 4] 190 call ___fsmul - 0000D2 5B 08 [ 2] 191 addw sp, #8 - 0000D4 89 [ 2] 192 pushw x - 0000D5 90 89 [ 2] 193 pushw y - 0000D7 1E 0C [ 2] 194 ldw x, (0x0c, sp) - 0000D9 89 [ 2] 195 pushw x - 0000DA 1E 0C [ 2] 196 ldw x, (0x0c, sp) - 0000DC 89 [ 2] 197 pushw x - 0000DD CDr00r00 [ 4] 198 call ___fsadd - 0000E0 5B 08 [ 2] 199 addw sp, #8 - 0000E2 1F 08 [ 2] 200 ldw (0x08, sp), x - 0000E4 17 06 [ 2] 201 ldw (0x06, sp), y - 202 ; ../_atof.c: 67: fraction*=0.1; - 0000E6 1E 0C [ 2] 203 ldw x, (0x0c, sp) - 0000E8 89 [ 2] 204 pushw x - 0000E9 1E 0C [ 2] 205 ldw x, (0x0c, sp) - 0000EB 89 [ 2] 206 pushw x - 0000EC 4B CD [ 1] 207 push #0xcd - 0000EE 4B CC [ 1] 208 push #0xcc - 0000F0 4B CC [ 1] 209 push #0xcc - 0000F2 4B 3D [ 1] 210 push #0x3d - 0000F4 CDr00r00 [ 4] 211 call ___fsmul - 0000F7 5B 08 [ 2] 212 addw sp, #8 - 0000F9 1F 0C [ 2] 213 ldw (0x0c, sp), x - 0000FB 17 0A [ 2] 214 ldw (0x0a, sp), y - 215 ; ../_atof.c: 64: for (fraction=0.1; isdigit(*s); s++) - 0000FD 1E 10 [ 2] 216 ldw x, (0x10, sp) - 0000FF 5C [ 1] 217 incw x - 000100 1F 10 [ 2] 218 ldw (0x10, sp), x - 000102 20 A0 [ 2] 219 jra 00129$ - 000104 220 00157$: - 000104 16 10 [ 2] 221 ldw y, (0x10, sp) - 000106 17 14 [ 2] 222 ldw (0x14, sp), y - 000108 223 00112$: - 224 ; ../_atof.c: 72: if (toupper(*s)=='E') - 000108 16 14 [ 2] 225 ldw y, (0x14, sp) - 00010A 17 10 [ 2] 226 ldw (0x10, sp), y - 00010C 93 [ 1] 227 ldw x, y - 00010D F6 [ 1] 228 ld a, (x) - 00010E 5F [ 1] 229 clrw x - 00010F 97 [ 1] 230 ld xl, a - 000110 89 [ 2] 231 pushw x - 000111 CDr00r00 [ 4] 232 call _toupper - 000114 5B 02 [ 2] 233 addw sp, #2 - 000116 A3 00 45 [ 2] 234 cpw x, #0x0045 - 000119 26 48 [ 1] 235 jrne 00120$ - 236 ; ../_atof.c: 74: s++; - 00011B 1E 10 [ 2] 237 ldw x, (0x10, sp) - 00011D 5C [ 1] 238 incw x - 239 ; ../_atof.c: 75: iexp=(signed char)atoi(s); - 00011E 1F 14 [ 2] 240 ldw (0x14, sp), x - 000120 89 [ 2] 241 pushw x - 000121 CDr00r00 [ 4] 242 call _atoi - 000124 5B 02 [ 2] 243 addw sp, #2 - 000126 9F [ 1] 244 ld a, xl - 245 ; ../_atof.c: 77: while(iexp!=0) - 000127 246 00116$: - 000127 4D [ 1] 247 tnz a - 000128 27 39 [ 1] 248 jreq 00120$ - 249 ; ../_atof.c: 79: if(iexp<0) - 00012A 4D [ 1] 250 tnz a - 00012B 2A 1C [ 1] 251 jrpl 00114$ - 252 ; ../_atof.c: 81: value*=0.1; - 00012D 88 [ 1] 253 push a - 00012E 1E 09 [ 2] 254 ldw x, (0x09, sp) - 000130 89 [ 2] 255 pushw x - 000131 1E 09 [ 2] 256 ldw x, (0x09, sp) - 000133 89 [ 2] 257 pushw x - 000134 4B CD [ 1] 258 push #0xcd - 000136 4B CC [ 1] 259 push #0xcc - 000138 4B CC [ 1] 260 push #0xcc - 00013A 4B 3D [ 1] 261 push #0x3d - 00013C CDr00r00 [ 4] 262 call ___fsmul - 00013F 5B 08 [ 2] 263 addw sp, #8 - 000141 84 [ 1] 264 pop a - 000142 1F 08 [ 2] 265 ldw (0x08, sp), x - 000144 17 06 [ 2] 266 ldw (0x06, sp), y - 267 ; ../_atof.c: 82: iexp++; - 000146 4C [ 1] 268 inc a - 000147 20 DE [ 2] 269 jra 00116$ - 000149 270 00114$: - 271 ; ../_atof.c: 86: value*=10.0; - 000149 88 [ 1] 272 push a - 00014A 1E 09 [ 2] 273 ldw x, (0x09, sp) - 00014C 89 [ 2] 274 pushw x - 00014D 1E 09 [ 2] 275 ldw x, (0x09, sp) - 00014F 89 [ 2] 276 pushw x - 000150 5F [ 1] 277 clrw x - 000151 89 [ 2] 278 pushw x - 000152 4B 20 [ 1] 279 push #0x20 - 000154 4B 41 [ 1] 280 push #0x41 - 000156 CDr00r00 [ 4] 281 call ___fsmul - 000159 5B 08 [ 2] 282 addw sp, #8 - 00015B 84 [ 1] 283 pop a - 00015C 1F 08 [ 2] 284 ldw (0x08, sp), x - 00015E 17 06 [ 2] 285 ldw (0x06, sp), y - 286 ; ../_atof.c: 87: iexp--; - 000160 4A [ 1] 287 dec a - 000161 20 C4 [ 2] 288 jra 00116$ - 000163 289 00120$: - 290 ; ../_atof.c: 93: if(sign) value*=-1.0; - 000163 0D 05 [ 1] 291 tnz (0x05, sp) - 000165 27 0B [ 1] 292 jreq 00122$ - 000167 16 08 [ 2] 293 ldw y, (0x08, sp) - 000169 1E 06 [ 2] 294 ldw x, (0x06, sp) - 00016B 58 [ 2] 295 sllw x - 00016C 8C [ 1] 296 ccf - 00016D 56 [ 2] 297 rrcw x - 00016E 17 08 [ 2] 298 ldw (0x08, sp), y - 000170 1F 06 [ 2] 299 ldw (0x06, sp), x - 000172 300 00122$: - 301 ; ../_atof.c: 94: return (value); - 000172 1E 08 [ 2] 302 ldw x, (0x08, sp) - 000174 16 06 [ 2] 303 ldw y, (0x06, sp) - 304 ; ../_atof.c: 95: } - 000176 5B 11 [ 2] 305 addw sp, #17 - 000178 81 [ 4] 306 ret - 307 .area CODE - 308 .area CONST - 309 .area INITIALIZER - 310 .area CABS (ABS) |
