diff options
Diffstat (limited to 'device/lib/stm8/wctomb.lst')
| -rw-r--r-- | device/lib/stm8/wctomb.lst | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/device/lib/stm8/wctomb.lst b/device/lib/stm8/wctomb.lst deleted file mode 100644 index 19c4285..0000000 --- a/device/lib/stm8/wctomb.lst +++ /dev/null @@ -1,235 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 3.9.3 #11345 (Linux) - 4 ;-------------------------------------------------------- - 5 .module wctomb - 6 .optsdcc -mstm8 - 7 - 8 ;-------------------------------------------------------- - 9 ; Public variables in this module - 10 ;-------------------------------------------------------- - 11 .globl _wctomb - 12 ;-------------------------------------------------------- - 13 ; ram data - 14 ;-------------------------------------------------------- - 15 .area DATA - 16 ;-------------------------------------------------------- - 17 ; ram data - 18 ;-------------------------------------------------------- - 19 .area INITIALIZED - 20 ;-------------------------------------------------------- - 21 ; absolute external ram data - 22 ;-------------------------------------------------------- - 23 .area DABS (ABS) - 24 - 25 ; default segment ordering for linker - 26 .area HOME - 27 .area GSINIT - 28 .area GSFINAL - 29 .area CONST - 30 .area INITIALIZER - 31 .area CODE - 32 - 33 ;-------------------------------------------------------- - 34 ; global & static initialisations - 35 ;-------------------------------------------------------- - 36 .area HOME - 37 .area GSINIT - 38 .area GSFINAL - 39 .area GSINIT - 40 ;-------------------------------------------------------- - 41 ; Home - 42 ;-------------------------------------------------------- - 43 .area HOME - 44 .area HOME - 45 ;-------------------------------------------------------- - 46 ; code - 47 ;-------------------------------------------------------- - 48 .area CODE - 49 ; ../wctomb.c: 31: int wctomb(char *s, wchar_t wc) - 50 ; ----------------------------------------- - 51 ; function wctomb - 52 ; ----------------------------------------- - 000000 53 _wctomb: - 000000 52 0C [ 2] 54 sub sp, #12 - 55 ; ../wctomb.c: 33: if(!s) - 56 ; ../wctomb.c: 34: return(0); - 000002 1E 0F [ 2] 57 ldw x, (0x0f, sp) - 000004 26 03 [ 1] 58 jrne 00102$ - 000006 CCr01r00 [ 2] 59 jp 00119$ - 000009 60 00102$: - 61 ; ../wctomb.c: 38: s[0] = wc; - 000009 16 0F [ 2] 62 ldw y, (0x0f, sp) - 00000B 17 01 [ 2] 63 ldw (0x01, sp), y - 00000D 7B 14 [ 1] 64 ld a, (0x14, sp) - 65 ; ../wctomb.c: 36: if(wc < 0x80) - 00000F 1E 13 [ 2] 66 ldw x, (0x13, sp) - 000011 A3 00 80 [ 2] 67 cpw x, #0x0080 - 000014 88 [ 1] 68 push a - 000015 7B 13 [ 1] 69 ld a, (0x13, sp) - 000017 A2 00 [ 1] 70 sbc a, #0x00 - 000019 7B 12 [ 1] 71 ld a, (0x12, sp) - 00001B A2 00 [ 1] 72 sbc a, #0x00 - 00001D 84 [ 1] 73 pop a - 00001E 24 08 [ 1] 74 jrnc 00117$ - 75 ; ../wctomb.c: 38: s[0] = wc; - 000020 1E 01 [ 2] 76 ldw x, (0x01, sp) - 000022 F7 [ 1] 77 ld (x), a - 78 ; ../wctomb.c: 39: return(1); - 000023 5F [ 1] 79 clrw x - 000024 5C [ 1] 80 incw x - 000025 CCr01r00 [ 2] 81 jp 00119$ - 000028 82 00117$: - 83 ; ../wctomb.c: 43: s[0] = (wc >> 6) & 0x1f | 0xc0; - 000028 1E 13 [ 2] 84 ldw x, (0x13, sp) - 00002A 88 [ 1] 85 push a - 00002B A6 40 [ 1] 86 ld a, #0x40 - 00002D 62 [ 2] 87 div x, a - 00002E 84 [ 1] 88 pop a - 89 ; ../wctomb.c: 44: s[1] = (wc >> 0) & 0x3f | 0x80; - 00002F 16 01 [ 2] 90 ldw y, (0x01, sp) - 000031 90 5C [ 1] 91 incw y - 000033 17 03 [ 2] 92 ldw (0x03, sp), y - 000035 A4 3F [ 1] 93 and a, #0x3f - 94 ; ../wctomb.c: 43: s[0] = (wc >> 6) & 0x1f | 0xc0; - 000037 41 [ 1] 95 exg a, xl - 000038 6B 08 [ 1] 96 ld (0x08, sp), a - 00003A 41 [ 1] 97 exg a, xl - 98 ; ../wctomb.c: 44: s[1] = (wc >> 0) & 0x3f | 0x80; - 00003B AA 80 [ 1] 99 or a, #0x80 - 00003D 6B 05 [ 1] 100 ld (0x05, sp), a - 101 ; ../wctomb.c: 41: else if(wc < 0x800) - 00003F 1E 13 [ 2] 102 ldw x, (0x13, sp) - 000041 A3 08 00 [ 2] 103 cpw x, #0x0800 - 000044 7B 12 [ 1] 104 ld a, (0x12, sp) - 000046 A2 00 [ 1] 105 sbc a, #0x00 - 000048 7B 11 [ 1] 106 ld a, (0x11, sp) - 00004A A2 00 [ 1] 107 sbc a, #0x00 - 00004C 24 14 [ 1] 108 jrnc 00114$ - 109 ; ../wctomb.c: 43: s[0] = (wc >> 6) & 0x1f | 0xc0; - 00004E 7B 08 [ 1] 110 ld a, (0x08, sp) - 000050 A4 1F [ 1] 111 and a, #0x1f - 000052 AA C0 [ 1] 112 or a, #0xc0 - 000054 1E 01 [ 2] 113 ldw x, (0x01, sp) - 000056 F7 [ 1] 114 ld (x), a - 115 ; ../wctomb.c: 44: s[1] = (wc >> 0) & 0x3f | 0x80; - 000057 1E 03 [ 2] 116 ldw x, (0x03, sp) - 000059 7B 05 [ 1] 117 ld a, (0x05, sp) - 00005B F7 [ 1] 118 ld (x), a - 119 ; ../wctomb.c: 45: return(2); - 00005C AE 00 02 [ 2] 120 ldw x, #0x0002 - 00005F CCr01r00 [ 2] 121 jp 00119$ - 000062 122 00114$: - 123 ; ../wctomb.c: 47: else if(wc >= 0xd800 && wc < 0xe000) // Unpaired surrogate - 000062 1E 13 [ 2] 124 ldw x, (0x13, sp) - 000064 A3 D8 00 [ 2] 125 cpw x, #0xd800 - 000067 7B 12 [ 1] 126 ld a, (0x12, sp) - 000069 A2 00 [ 1] 127 sbc a, #0x00 - 00006B 7B 11 [ 1] 128 ld a, (0x11, sp) - 00006D A2 00 [ 1] 129 sbc a, #0x00 - 00006F 25 13 [ 1] 130 jrc 00110$ - 000071 1E 13 [ 2] 131 ldw x, (0x13, sp) - 000073 A3 E0 00 [ 2] 132 cpw x, #0xe000 - 000076 7B 12 [ 1] 133 ld a, (0x12, sp) - 000078 A2 00 [ 1] 134 sbc a, #0x00 - 00007A 7B 11 [ 1] 135 ld a, (0x11, sp) - 00007C A2 00 [ 1] 136 sbc a, #0x00 - 00007E 24 04 [ 1] 137 jrnc 00110$ - 138 ; ../wctomb.c: 48: return(-1); - 000080 5F [ 1] 139 clrw x - 000081 5A [ 2] 140 decw x - 000082 20 7C [ 2] 141 jra 00119$ - 000084 142 00110$: - 143 ; ../wctomb.c: 51: s[0] = (wc >> 12) & 0x0f | 0xe0; - 000084 16 11 [ 2] 144 ldw y, (0x11, sp) - 000086 17 09 [ 2] 145 ldw (0x09, sp), y - 000088 1E 13 [ 2] 146 ldw x, (0x13, sp) - 00008A A6 0C [ 1] 147 ld a, #0x0c - 00008C 148 00161$: - 00008C 04 09 [ 1] 149 srl (0x09, sp) - 00008E 06 0A [ 1] 150 rrc (0x0a, sp) - 000090 56 [ 2] 151 rrcw x - 000091 4A [ 1] 152 dec a - 000092 26 F8 [ 1] 153 jrne 00161$ - 000094 1F 0B [ 2] 154 ldw (0x0b, sp), x - 155 ; ../wctomb.c: 53: s[2] = (wc >> 0) & 0x3f | 0x80; - 000096 1E 01 [ 2] 156 ldw x, (0x01, sp) - 000098 5C [ 1] 157 incw x - 000099 5C [ 1] 158 incw x - 00009A 1F 06 [ 2] 159 ldw (0x06, sp), x - 160 ; ../wctomb.c: 51: s[0] = (wc >> 12) & 0x0f | 0xe0; - 00009C 7B 0C [ 1] 161 ld a, (0x0c, sp) - 00009E 90 97 [ 1] 162 ld yl, a - 163 ; ../wctomb.c: 52: s[1] = (wc >> 6) & 0x3f | 0x80; - 0000A0 7B 08 [ 1] 164 ld a, (0x08, sp) - 0000A2 A4 3F [ 1] 165 and a, #0x3f - 0000A4 AA 80 [ 1] 166 or a, #0x80 - 0000A6 6B 08 [ 1] 167 ld (0x08, sp), a - 168 ; ../wctomb.c: 49: else if(wc < 0x10000) - 0000A8 1E 11 [ 2] 169 ldw x, (0x11, sp) - 0000AA A3 00 01 [ 2] 170 cpw x, #0x0001 - 0000AD 24 18 [ 1] 171 jrnc 00107$ - 172 ; ../wctomb.c: 51: s[0] = (wc >> 12) & 0x0f | 0xe0; - 0000AF 90 9F [ 1] 173 ld a, yl - 0000B1 A4 0F [ 1] 174 and a, #0x0f - 0000B3 AA E0 [ 1] 175 or a, #0xe0 - 0000B5 1E 01 [ 2] 176 ldw x, (0x01, sp) - 0000B7 F7 [ 1] 177 ld (x), a - 178 ; ../wctomb.c: 52: s[1] = (wc >> 6) & 0x3f | 0x80; - 0000B8 1E 03 [ 2] 179 ldw x, (0x03, sp) - 0000BA 7B 08 [ 1] 180 ld a, (0x08, sp) - 0000BC F7 [ 1] 181 ld (x), a - 182 ; ../wctomb.c: 53: s[2] = (wc >> 0) & 0x3f | 0x80; - 0000BD 1E 06 [ 2] 183 ldw x, (0x06, sp) - 0000BF 7B 05 [ 1] 184 ld a, (0x05, sp) - 0000C1 F7 [ 1] 185 ld (x), a - 186 ; ../wctomb.c: 54: return(3); - 0000C2 AE 00 03 [ 2] 187 ldw x, #0x0003 - 0000C5 20 39 [ 2] 188 jra 00119$ - 0000C7 189 00107$: - 190 ; ../wctomb.c: 56: else if(wc < 0x110000) - 191 ; ../wctomb.c: 58: s[0] = (wc >> 18) & 0x07 | 0xf0; - 0000C7 1E 11 [ 2] 192 ldw x, (0x11, sp) - 0000C9 A3 00 11 [ 2] 193 cpw x, #0x0011 - 0000CC 24 30 [ 1] 194 jrnc 00104$ - 0000CE 1F 0B [ 2] 195 ldw (0x0b, sp), x - 0000D0 0F 0A [ 1] 196 clr (0x0a, sp) - 0000D2 0F 09 [ 1] 197 clr (0x09, sp) - 0000D4 04 0B [ 1] 198 srl (0x0b, sp) - 0000D6 06 0C [ 1] 199 rrc (0x0c, sp) - 0000D8 04 0B [ 1] 200 srl (0x0b, sp) - 0000DA 06 0C [ 1] 201 rrc (0x0c, sp) - 0000DC 7B 0C [ 1] 202 ld a, (0x0c, sp) - 0000DE A4 07 [ 1] 203 and a, #0x07 - 0000E0 AA F0 [ 1] 204 or a, #0xf0 - 0000E2 1E 01 [ 2] 205 ldw x, (0x01, sp) - 0000E4 F7 [ 1] 206 ld (x), a - 207 ; ../wctomb.c: 59: s[1] = (wc >> 12) & 0x3f | 0x80; - 0000E5 90 9F [ 1] 208 ld a, yl - 0000E7 A4 3F [ 1] 209 and a, #0x3f - 0000E9 AA 80 [ 1] 210 or a, #0x80 - 0000EB 1E 03 [ 2] 211 ldw x, (0x03, sp) - 0000ED F7 [ 1] 212 ld (x), a - 213 ; ../wctomb.c: 60: s[2] = (wc >> 6) & 0x3f | 0x80; - 0000EE 1E 06 [ 2] 214 ldw x, (0x06, sp) - 0000F0 7B 08 [ 1] 215 ld a, (0x08, sp) - 0000F2 F7 [ 1] 216 ld (x), a - 217 ; ../wctomb.c: 61: s[3] = (wc >> 0) & 0x3f | 0x80; - 0000F3 1E 01 [ 2] 218 ldw x, (0x01, sp) - 0000F5 7B 05 [ 1] 219 ld a, (0x05, sp) - 0000F7 E7 03 [ 1] 220 ld (0x0003, x), a - 221 ; ../wctomb.c: 62: return(4); - 0000F9 AE 00 04 [ 2] 222 ldw x, #0x0004 - 0000FC 20 02 [ 2] 223 jra 00119$ - 0000FE 224 00104$: - 225 ; ../wctomb.c: 65: return(-1); - 0000FE 5F [ 1] 226 clrw x - 0000FF 5A [ 2] 227 decw x - 000100 228 00119$: - 229 ; ../wctomb.c: 66: } - 000100 5B 0C [ 2] 230 addw sp, #12 - 000102 81 [ 4] 231 ret - 232 .area CODE - 233 .area CONST - 234 .area INITIALIZER - 235 .area CABS (ABS) |
