summaryrefslogtreecommitdiff
path: root/device/lib/stm8/c16rtomb.lst
diff options
context:
space:
mode:
Diffstat (limited to 'device/lib/stm8/c16rtomb.lst')
-rw-r--r--device/lib/stm8/c16rtomb.lst209
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)