diff options
Diffstat (limited to 'device/lib/stm8/c16rtomb.lst')
| -rw-r--r-- | device/lib/stm8/c16rtomb.lst | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/device/lib/stm8/c16rtomb.lst b/device/lib/stm8/c16rtomb.lst deleted file mode 100644 index 79b77a2..0000000 --- a/device/lib/stm8/c16rtomb.lst +++ /dev/null @@ -1,209 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 3.9.3 #11345 (Linux) - 4 ;-------------------------------------------------------- - 5 .module c16rtomb - 6 .optsdcc -mstm8 - 7 - 8 ;-------------------------------------------------------- - 9 ; Public variables in this module - 10 ;-------------------------------------------------------- - 11 .globl _wctomb - 12 .globl _c16rtomb - 13 ;-------------------------------------------------------- - 14 ; ram data - 15 ;-------------------------------------------------------- - 16 .area DATA - 000000 17 _c16rtomb_sps_65536_36: - 000000 18 .ds 3 - 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 ; ../c16rtomb.c: 35: size_t c16rtomb(char *restrict s, char16_t c16, mbstate_t *restrict ps) - 53 ; ----------------------------------------- - 54 ; function c16rtomb - 55 ; ----------------------------------------- - 000000 56 _c16rtomb: - 000000 52 0C [ 2] 57 sub sp, #12 - 58 ; ../c16rtomb.c: 41: if(!s) - 000002 1E 0F [ 2] 59 ldw x, (0x0f, sp) - 000004 26 04 [ 1] 60 jrne 00102$ - 61 ; ../c16rtomb.c: 42: s = buf; - 000006 96 [ 1] 62 ldw x, sp - 000007 5C [ 1] 63 incw x - 000008 1F 0F [ 2] 64 ldw (0x0f, sp), x - 00000A 65 00102$: - 66 ; ../c16rtomb.c: 44: if(!ps) - 00000A 1E 13 [ 2] 67 ldw x, (0x13, sp) - 00000C 26 05 [ 1] 68 jrne 00104$ - 69 ; ../c16rtomb.c: 45: ps = &sps; - 00000E AEr00r00 [ 2] 70 ldw x, #(_c16rtomb_sps_65536_36 + 0) - 000011 1F 13 [ 2] 71 ldw (0x13, sp), x - 000013 72 00104$: - 73 ; ../c16rtomb.c: 49: ps->c[1] = ps->c[2] = 0; - 000013 16 13 [ 2] 74 ldw y, (0x13, sp) - 000015 93 [ 1] 75 ldw x, y - 000016 5C [ 1] 76 incw x - 000017 1F 05 [ 2] 77 ldw (0x05, sp), x - 000019 93 [ 1] 78 ldw x, y - 00001A 5C [ 1] 79 incw x - 00001B 5C [ 1] 80 incw x - 00001C 1F 07 [ 2] 81 ldw (0x07, sp), x - 82 ; ../c16rtomb.c: 47: if (!c16) // 0 always resets conversion state. - 00001E 1E 11 [ 2] 83 ldw x, (0x11, sp) - 000020 26 0E [ 1] 84 jrne 00119$ - 85 ; ../c16rtomb.c: 49: ps->c[1] = ps->c[2] = 0; - 000022 1E 07 [ 2] 86 ldw x, (0x07, sp) - 000024 7F [ 1] 87 clr (x) - 000025 1E 05 [ 2] 88 ldw x, (0x05, sp) - 000027 7F [ 1] 89 clr (x) - 90 ; ../c16rtomb.c: 50: codepoint = 0; - 000028 5F [ 1] 91 clrw x - 000029 1F 0B [ 2] 92 ldw (0x0b, sp), x - 00002B 1F 09 [ 2] 93 ldw (0x09, sp), x - 00002D CCr00rB6 [ 2] 94 jp 00120$ - 000030 95 00119$: - 96 ; ../c16rtomb.c: 52: else if(ps->c[1] || ps->c[2]) // We already have the high surrogate. Now get the low surrogate - 000030 1E 05 [ 2] 97 ldw x, (0x05, sp) - 000032 F6 [ 1] 98 ld a, (x) - 000033 90 97 [ 1] 99 ld yl, a - 000035 4D [ 1] 100 tnz a - 000036 26 05 [ 1] 101 jrne 00114$ - 000038 1E 07 [ 2] 102 ldw x, (0x07, sp) - 00003A F6 [ 1] 103 ld a, (x) - 00003B 27 4A [ 1] 104 jreq 00115$ - 00003D 105 00114$: - 106 ; ../c16rtomb.c: 56: if(c16 < 0xdc00 || c16 > 0xdfff) - 00003D 1E 11 [ 2] 107 ldw x, (0x11, sp) - 00003F A3 DC 00 [ 2] 108 cpw x, #0xdc00 - 000042 24 03 [ 1] 109 jrnc 00169$ - 000044 CCr00rC6 [ 2] 110 jp 00121$ - 000047 111 00169$: - 000047 1E 11 [ 2] 112 ldw x, (0x11, sp) - 000049 A3 DF FF [ 2] 113 cpw x, #0xdfff - 00004C 22 78 [ 1] 114 jrugt 00121$ - 115 ; ../c16rtomb.c: 59: high_surrogate = ps->c[1] + (ps->c[2] << 8); - 00004E 61 [ 1] 116 exg a, yl - 00004F 6B 0A [ 1] 117 ld (0x0a, sp), a - 000051 61 [ 1] 118 exg a, yl - 000052 0F 09 [ 1] 119 clr (0x09, sp) - 000054 16 07 [ 2] 120 ldw y, (0x07, sp) - 000056 90 F6 [ 1] 121 ld a, (y) - 000058 95 [ 1] 122 ld xh, a - 000059 0F 0C [ 1] 123 clr (0x0c, sp) - 00005B 7B 0C [ 1] 124 ld a, (0x0c, sp) - 00005D 97 [ 1] 125 ld xl, a - 00005E 72 FB 09 [ 2] 126 addw x, (0x09, sp) - 127 ; ../c16rtomb.c: 60: ps->c[1] = ps->c[2] = 0; - 000061 16 07 [ 2] 128 ldw y, (0x07, sp) - 000063 90 7F [ 1] 129 clr (y) - 000065 16 05 [ 2] 130 ldw y, (0x05, sp) - 000067 90 7F [ 1] 131 clr (y) - 132 ; ../c16rtomb.c: 61: codepoint = (high_surrogate << 10) - (0xd800 << 10) + c16 - 0xdc00 + 0x10000; - 000069 4F [ 1] 133 clr a - 00006A 02 [ 1] 134 rlwa x - 00006B 58 [ 2] 135 sllw x - 00006C 58 [ 2] 136 sllw x - 00006D 72 FB 11 [ 2] 137 addw x, (0x11, sp) - 000070 1F 0B [ 2] 138 ldw (0x0b, sp), x - 000072 0F 0A [ 1] 139 clr (0x0a, sp) - 000074 0F 09 [ 1] 140 clr (0x09, sp) - 000076 1E 0B [ 2] 141 ldw x, (0x0b, sp) - 000078 1C 24 00 [ 2] 142 addw x, #0x2400 - 00007B 16 09 [ 2] 143 ldw y, (0x09, sp) - 00007D 24 02 [ 1] 144 jrnc 00171$ - 00007F 90 5C [ 1] 145 incw y - 000081 146 00171$: - 000081 1F 0B [ 2] 147 ldw (0x0b, sp), x - 000083 17 09 [ 2] 148 ldw (0x09, sp), y - 000085 20 2F [ 2] 149 jra 00120$ - 000087 150 00115$: - 151 ; ../c16rtomb.c: 63: else if(c16 < 0xd7ff || c16 >= 0xe000) // Basic multilingual plane. - 000087 1E 11 [ 2] 152 ldw x, (0x11, sp) - 000089 A3 D7 FF [ 2] 153 cpw x, #0xd7ff - 00008C 25 05 [ 1] 154 jrc 00110$ - 00008E A3 E0 00 [ 2] 155 cpw x, #0xe000 - 000091 25 09 [ 1] 156 jrc 00111$ - 000093 157 00110$: - 158 ; ../c16rtomb.c: 64: codepoint = c16; - 000093 16 11 [ 2] 159 ldw y, (0x11, sp) - 000095 5F [ 1] 160 clrw x - 000096 17 0B [ 2] 161 ldw (0x0b, sp), y - 000098 1F 09 [ 2] 162 ldw (0x09, sp), x - 00009A 20 1A [ 2] 163 jra 00120$ - 00009C 164 00111$: - 165 ; ../c16rtomb.c: 67: if(c16 > 0xdbff) - 00009C 1E 11 [ 2] 166 ldw x, (0x11, sp) - 00009E A3 DB FF [ 2] 167 cpw x, #0xdbff - 0000A1 22 23 [ 1] 168 jrugt 00121$ - 169 ; ../c16rtomb.c: 70: ps->c[1] = c16 & 0xff; - 0000A3 7B 12 [ 1] 170 ld a, (0x12, sp) - 0000A5 1E 05 [ 2] 171 ldw x, (0x05, sp) - 0000A7 F7 [ 1] 172 ld (x), a - 173 ; ../c16rtomb.c: 71: ps->c[2] = c16 >> 8; - 0000A8 7B 11 [ 1] 174 ld a, (0x11, sp) - 0000AA 6B 0C [ 1] 175 ld (0x0c, sp), a - 0000AC 0F 0B [ 1] 176 clr (0x0b, sp) - 0000AE 7B 0C [ 1] 177 ld a, (0x0c, sp) - 0000B0 1E 07 [ 2] 178 ldw x, (0x07, sp) - 0000B2 F7 [ 1] 179 ld (x), a - 180 ; ../c16rtomb.c: 72: return(0); - 0000B3 5F [ 1] 181 clrw x - 0000B4 20 18 [ 2] 182 jra 00122$ - 0000B6 183 00120$: - 184 ; ../c16rtomb.c: 75: return(wctomb(s, codepoint)); - 0000B6 1E 0B [ 2] 185 ldw x, (0x0b, sp) - 0000B8 89 [ 2] 186 pushw x - 0000B9 1E 0B [ 2] 187 ldw x, (0x0b, sp) - 0000BB 89 [ 2] 188 pushw x - 0000BC 1E 13 [ 2] 189 ldw x, (0x13, sp) - 0000BE 89 [ 2] 190 pushw x - 0000BF CDr00r00 [ 4] 191 call _wctomb - 0000C2 5B 06 [ 2] 192 addw sp, #6 - 0000C4 20 08 [ 2] 193 jra 00122$ - 194 ; ../c16rtomb.c: 77: eilseq: - 0000C6 195 00121$: - 196 ; ../c16rtomb.c: 78: errno = EILSEQ; - 0000C6 AE 00 54 [ 2] 197 ldw x, #0x0054 - 0000C9 CFu00u00 [ 2] 198 ldw _errno+0, x - 199 ; ../c16rtomb.c: 79: return(-1); - 0000CC 5F [ 1] 200 clrw x - 0000CD 5A [ 2] 201 decw x - 0000CE 202 00122$: - 203 ; ../c16rtomb.c: 80: } - 0000CE 5B 0C [ 2] 204 addw sp, #12 - 0000D0 81 [ 4] 205 ret - 206 .area CODE - 207 .area CONST - 208 .area INITIALIZER - 209 .area CABS (ABS) |
