summaryrefslogtreecommitdiff
path: root/device/lib/stm8/sqrtf.lst
diff options
context:
space:
mode:
Diffstat (limited to 'device/lib/stm8/sqrtf.lst')
-rw-r--r--device/lib/stm8/sqrtf.lst229
1 files changed, 0 insertions, 229 deletions
diff --git a/device/lib/stm8/sqrtf.lst b/device/lib/stm8/sqrtf.lst
deleted file mode 100644
index f4856d7..0000000
--- a/device/lib/stm8/sqrtf.lst
+++ /dev/null
@@ -1,229 +0,0 @@
- 1 ;--------------------------------------------------------
- 2 ; File Created by SDCC : free open source ANSI-C Compiler
- 3 ; Version 3.9.3 #11345 (Linux)
- 4 ;--------------------------------------------------------
- 5 .module sqrtf
- 6 .optsdcc -mstm8
- 7
- 8 ;--------------------------------------------------------
- 9 ; Public variables in this module
- 10 ;--------------------------------------------------------
- 11 .globl _ldexpf
- 12 .globl _frexpf
- 13 .globl _sqrtf
- 14 ;--------------------------------------------------------
- 15 ; ram data
- 16 ;--------------------------------------------------------
- 17 .area DATA
- 18 ;--------------------------------------------------------
- 19 ; ram data
- 20 ;--------------------------------------------------------
- 21 .area INITIALIZED
- 22 ;--------------------------------------------------------
- 23 ; absolute external ram data
- 24 ;--------------------------------------------------------
- 25 .area DABS (ABS)
- 26
- 27 ; default segment ordering for linker
- 28 .area HOME
- 29 .area GSINIT
- 30 .area GSFINAL
- 31 .area CONST
- 32 .area INITIALIZER
- 33 .area CODE
- 34
- 35 ;--------------------------------------------------------
- 36 ; global & static initialisations
- 37 ;--------------------------------------------------------
- 38 .area HOME
- 39 .area GSINIT
- 40 .area GSFINAL
- 41 .area GSINIT
- 42 ;--------------------------------------------------------
- 43 ; Home
- 44 ;--------------------------------------------------------
- 45 .area HOME
- 46 .area HOME
- 47 ;--------------------------------------------------------
- 48 ; code
- 49 ;--------------------------------------------------------
- 50 .area CODE
- 51 ; ../sqrtf.c: 37: float sqrtf(float x) _FLOAT_FUNC_REENTRANT
- 52 ; -----------------------------------------
- 53 ; function sqrtf
- 54 ; -----------------------------------------
- 000000 55 _sqrtf:
- 000000 52 0A [ 2] 56 sub sp, #10
- 57 ; ../sqrtf.c: 42: if (x==0.0) return x;
- 000002 1E 0F [ 2] 58 ldw x, (0x0f, sp)
- 000004 26 0C [ 1] 59 jrne 00107$
- 000006 1E 0D [ 2] 60 ldw x, (0x0d, sp)
- 000008 58 [ 2] 61 sllw x
- 000009 26 07 [ 1] 62 jrne 00107$
- 00000B 1E 0F [ 2] 63 ldw x, (0x0f, sp)
- 00000D 16 0D [ 2] 64 ldw y, (0x0d, sp)
- 00000F CCr01r11 [ 2] 65 jp 00111$
- 000012 66 00107$:
- 67 ; ../sqrtf.c: 43: else if (x==1.0) return 1.0;
- 000012 5F [ 1] 68 clrw x
- 000013 89 [ 2] 69 pushw x
- 000014 4B 80 [ 1] 70 push #0x80
- 000016 4B 3F [ 1] 71 push #0x3f
- 000018 1E 13 [ 2] 72 ldw x, (0x13, sp)
- 00001A 89 [ 2] 73 pushw x
- 00001B 1E 13 [ 2] 74 ldw x, (0x13, sp)
- 00001D 89 [ 2] 75 pushw x
- 00001E CDr00r00 [ 4] 76 call ___fseq
- 000021 5B 08 [ 2] 77 addw sp, #8
- 000023 4D [ 1] 78 tnz a
- 000024 27 08 [ 1] 79 jreq 00104$
- 000026 5F [ 1] 80 clrw x
- 000027 90 AE 3F 80 [ 2] 81 ldw y, #0x3f80
- 00002B CCr01r11 [ 2] 82 jp 00111$
- 00002E 83 00104$:
- 84 ; ../sqrtf.c: 44: else if (x<0.0)
- 00002E 5F [ 1] 85 clrw x
- 00002F 89 [ 2] 86 pushw x
- 000030 5F [ 1] 87 clrw x
- 000031 89 [ 2] 88 pushw x
- 000032 1E 13 [ 2] 89 ldw x, (0x13, sp)
- 000034 89 [ 2] 90 pushw x
- 000035 1E 13 [ 2] 91 ldw x, (0x13, sp)
- 000037 89 [ 2] 92 pushw x
- 000038 CDr00r00 [ 4] 93 call ___fslt
- 00003B 5B 08 [ 2] 94 addw sp, #8
- 00003D 4D [ 1] 95 tnz a
- 00003E 27 0C [ 1] 96 jreq 00108$
- 97 ; ../sqrtf.c: 46: errno=EDOM;
- 000040 AE 00 21 [ 2] 98 ldw x, #0x0021
- 000043 CFu00u00 [ 2] 99 ldw _errno+0, x
- 100 ; ../sqrtf.c: 47: return 0.0;
- 000046 5F [ 1] 101 clrw x
- 000047 90 5F [ 1] 102 clrw y
- 000049 CCr01r11 [ 2] 103 jp 00111$
- 00004C 104 00108$:
- 105 ; ../sqrtf.c: 49: f=frexpf(x, &n);
- 00004C 96 [ 1] 106 ldw x, sp
- 00004D 5C [ 1] 107 incw x
- 00004E 89 [ 2] 108 pushw x
- 00004F 1E 11 [ 2] 109 ldw x, (0x11, sp)
- 000051 89 [ 2] 110 pushw x
- 000052 1E 11 [ 2] 111 ldw x, (0x11, sp)
- 000054 89 [ 2] 112 pushw x
- 000055 CDr00r00 [ 4] 113 call _frexpf
- 000058 5B 06 [ 2] 114 addw sp, #6
- 00005A 1F 05 [ 2] 115 ldw (0x05, sp), x
- 00005C 17 03 [ 2] 116 ldw (0x03, sp), y
- 117 ; ../sqrtf.c: 50: y=0.41731+0.59016*f; /*Educated guess*/
- 00005E 1E 05 [ 2] 118 ldw x, (0x05, sp)
- 000060 89 [ 2] 119 pushw x
- 000061 1E 05 [ 2] 120 ldw x, (0x05, sp)
- 000063 89 [ 2] 121 pushw x
- 000064 4B BA [ 1] 122 push #0xba
- 000066 4B 14 [ 1] 123 push #0x14
- 000068 4B 17 [ 1] 124 push #0x17
- 00006A 4B 3F [ 1] 125 push #0x3f
- 00006C CDr00r00 [ 4] 126 call ___fsmul
- 00006F 5B 08 [ 2] 127 addw sp, #8
- 000071 4B A8 [ 1] 128 push #0xa8
- 000073 4B A9 [ 1] 129 push #0xa9
- 000075 4B D5 [ 1] 130 push #0xd5
- 000077 4B 3E [ 1] 131 push #0x3e
- 000079 89 [ 2] 132 pushw x
- 00007A 90 89 [ 2] 133 pushw y
- 00007C CDr00r00 [ 4] 134 call ___fsadd
- 00007F 5B 08 [ 2] 135 addw sp, #8
- 000081 1F 09 [ 2] 136 ldw (0x09, sp), x
- 000083 17 07 [ 2] 137 ldw (0x07, sp), y
- 138 ; ../sqrtf.c: 52: y+=f/y;
- 000085 1E 09 [ 2] 139 ldw x, (0x09, sp)
- 000087 89 [ 2] 140 pushw x
- 000088 1E 09 [ 2] 141 ldw x, (0x09, sp)
- 00008A 89 [ 2] 142 pushw x
- 00008B 1E 09 [ 2] 143 ldw x, (0x09, sp)
- 00008D 89 [ 2] 144 pushw x
- 00008E 1E 09 [ 2] 145 ldw x, (0x09, sp)
- 000090 89 [ 2] 146 pushw x
- 000091 CDr00r00 [ 4] 147 call ___fsdiv
- 000094 5B 08 [ 2] 148 addw sp, #8
- 000096 89 [ 2] 149 pushw x
- 000097 90 89 [ 2] 150 pushw y
- 000099 1E 0D [ 2] 151 ldw x, (0x0d, sp)
- 00009B 89 [ 2] 152 pushw x
- 00009C 1E 0D [ 2] 153 ldw x, (0x0d, sp)
- 00009E 89 [ 2] 154 pushw x
- 00009F CDr00r00 [ 4] 155 call ___fsadd
- 0000A2 5B 08 [ 2] 156 addw sp, #8
- 157 ; ../sqrtf.c: 53: y=ldexpf(y, -2) + f/y; /*Faster version of 0.25 * y + f/y*/
- 0000A4 89 [ 2] 158 pushw x
- 0000A5 90 89 [ 2] 159 pushw y
- 0000A7 4B FE [ 1] 160 push #0xfe
- 0000A9 4B FF [ 1] 161 push #0xff
- 0000AB 89 [ 2] 162 pushw x
- 0000AC 90 89 [ 2] 163 pushw y
- 0000AE CDr00r00 [ 4] 164 call _ldexpf
- 0000B1 5B 06 [ 2] 165 addw sp, #6
- 0000B3 1F 0D [ 2] 166 ldw (0x0d, sp), x
- 0000B5 17 0B [ 2] 167 ldw (0x0b, sp), y
- 0000B7 90 85 [ 2] 168 popw y
- 0000B9 90 89 [ 2] 169 pushw y
- 0000BB 1E 09 [ 2] 170 ldw x, (0x09, sp)
- 0000BD 89 [ 2] 171 pushw x
- 0000BE 1E 09 [ 2] 172 ldw x, (0x09, sp)
- 0000C0 89 [ 2] 173 pushw x
- 0000C1 CDr00r00 [ 4] 174 call ___fsdiv
- 0000C4 5B 08 [ 2] 175 addw sp, #8
- 0000C6 89 [ 2] 176 pushw x
- 0000C7 90 89 [ 2] 177 pushw y
- 0000C9 1E 0D [ 2] 178 ldw x, (0x0d, sp)
- 0000CB 89 [ 2] 179 pushw x
- 0000CC 1E 0D [ 2] 180 ldw x, (0x0d, sp)
- 0000CE 89 [ 2] 181 pushw x
- 0000CF CDr00r00 [ 4] 182 call ___fsadd
- 0000D2 5B 08 [ 2] 183 addw sp, #8
- 0000D4 1F 09 [ 2] 184 ldw (0x09, sp), x
- 0000D6 17 07 [ 2] 185 ldw (0x07, sp), y
- 186 ; ../sqrtf.c: 55: if (n&1)
- 0000D8 7B 02 [ 1] 187 ld a, (0x02, sp)
- 0000DA 44 [ 1] 188 srl a
- 0000DB 24 1C [ 1] 189 jrnc 00110$
- 190 ; ../sqrtf.c: 57: y*=0.7071067812;
- 0000DD 1E 09 [ 2] 191 ldw x, (0x09, sp)
- 0000DF 89 [ 2] 192 pushw x
- 0000E0 1E 09 [ 2] 193 ldw x, (0x09, sp)
- 0000E2 89 [ 2] 194 pushw x
- 0000E3 4B F3 [ 1] 195 push #0xf3
- 0000E5 4B 04 [ 1] 196 push #0x04
- 0000E7 4B 35 [ 1] 197 push #0x35
- 0000E9 4B 3F [ 1] 198 push #0x3f
- 0000EB CDr00r00 [ 4] 199 call ___fsmul
- 0000EE 5B 08 [ 2] 200 addw sp, #8
- 0000F0 1F 09 [ 2] 201 ldw (0x09, sp), x
- 0000F2 17 07 [ 2] 202 ldw (0x07, sp), y
- 203 ; ../sqrtf.c: 58: ++n;
- 0000F4 1E 01 [ 2] 204 ldw x, (0x01, sp)
- 0000F6 5C [ 1] 205 incw x
- 0000F7 1F 01 [ 2] 206 ldw (0x01, sp), x
- 0000F9 207 00110$:
- 208 ; ../sqrtf.c: 60: return ldexpf(y, n/2);
- 0000F9 4B 02 [ 1] 209 push #0x02
- 0000FB 4B 00 [ 1] 210 push #0x00
- 0000FD 1E 03 [ 2] 211 ldw x, (0x03, sp)
- 0000FF 89 [ 2] 212 pushw x
- 000100 CDr00r00 [ 4] 213 call __divsint
- 000103 5B 04 [ 2] 214 addw sp, #4
- 000105 89 [ 2] 215 pushw x
- 000106 1E 0B [ 2] 216 ldw x, (0x0b, sp)
- 000108 89 [ 2] 217 pushw x
- 000109 1E 0B [ 2] 218 ldw x, (0x0b, sp)
- 00010B 89 [ 2] 219 pushw x
- 00010C CDr00r00 [ 4] 220 call _ldexpf
- 00010F 5B 06 [ 2] 221 addw sp, #6
- 000111 222 00111$:
- 223 ; ../sqrtf.c: 61: }
- 000111 5B 0A [ 2] 224 addw sp, #10
- 000113 81 [ 4] 225 ret
- 226 .area CODE
- 227 .area CONST
- 228 .area INITIALIZER
- 229 .area CABS (ABS)