diff options
Diffstat (limited to 'device/lib/stm8/qsort.lst')
| -rw-r--r-- | device/lib/stm8/qsort.lst | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/device/lib/stm8/qsort.lst b/device/lib/stm8/qsort.lst deleted file mode 100644 index e8b0de9..0000000 --- a/device/lib/stm8/qsort.lst +++ /dev/null @@ -1,169 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 3.9.3 #11345 (Linux) - 4 ;-------------------------------------------------------- - 5 .module qsort - 6 .optsdcc -mstm8 - 7 - 8 ;-------------------------------------------------------- - 9 ; Public variables in this module - 10 ;-------------------------------------------------------- - 11 .globl _qsort - 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 ; ../qsort.c: 33: static void swap(void *restrict dst, void *restrict src, size_t n) - 50 ; ----------------------------------------- - 51 ; function swap - 52 ; ----------------------------------------- - 000000 53 _swap: - 000000 52 06 [ 2] 54 sub sp, #6 - 55 ; ../qsort.c: 35: unsigned char *restrict d = dst; - 000002 1E 09 [ 2] 56 ldw x, (0x09, sp) - 57 ; ../qsort.c: 36: unsigned char *restrict s = src; - 000004 16 0B [ 2] 58 ldw y, (0x0b, sp) - 59 ; ../qsort.c: 38: while(n--) - 000006 17 03 [ 2] 60 ldw (0x03, sp), y - 000008 16 0D [ 2] 61 ldw y, (0x0d, sp) - 00000A 17 05 [ 2] 62 ldw (0x05, sp), y - 00000C 63 00101$: - 00000C 16 05 [ 2] 64 ldw y, (0x05, sp) - 00000E 17 01 [ 2] 65 ldw (0x01, sp), y - 000010 16 05 [ 2] 66 ldw y, (0x05, sp) - 000012 90 5A [ 2] 67 decw y - 000014 17 05 [ 2] 68 ldw (0x05, sp), y - 000016 16 01 [ 2] 69 ldw y, (0x01, sp) - 000018 27 17 [ 1] 70 jreq 00104$ - 71 ; ../qsort.c: 40: unsigned char tmp = *d; - 00001A F6 [ 1] 72 ld a, (x) - 00001B 6B 02 [ 1] 73 ld (0x02, sp), a - 74 ; ../qsort.c: 41: *d = *s; - 00001D 16 03 [ 2] 75 ldw y, (0x03, sp) - 00001F 90 F6 [ 1] 76 ld a, (y) - 000021 F7 [ 1] 77 ld (x), a - 78 ; ../qsort.c: 42: *s = tmp; - 000022 16 03 [ 2] 79 ldw y, (0x03, sp) - 000024 7B 02 [ 1] 80 ld a, (0x02, sp) - 000026 90 F7 [ 1] 81 ld (y), a - 82 ; ../qsort.c: 43: d++; - 000028 5C [ 1] 83 incw x - 84 ; ../qsort.c: 44: s++; - 000029 16 03 [ 2] 85 ldw y, (0x03, sp) - 00002B 90 5C [ 1] 86 incw y - 00002D 17 03 [ 2] 87 ldw (0x03, sp), y - 00002F 20 DB [ 2] 88 jra 00101$ - 000031 89 00104$: - 90 ; ../qsort.c: 46: } - 000031 5B 06 [ 2] 91 addw sp, #6 - 000033 81 [ 4] 92 ret - 93 ; ../qsort.c: 48: void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *) __reentrant) - 94 ; ----------------------------------------- - 95 ; function qsort - 96 ; ----------------------------------------- - 000034 97 _qsort: - 000034 52 0C [ 2] 98 sub sp, #12 - 99 ; ../qsort.c: 50: unsigned char *b = base; - 000036 16 0F [ 2] 100 ldw y, (0x0f, sp) - 000038 17 0B [ 2] 101 ldw (0x0b, sp), y - 00003A 17 01 [ 2] 102 ldw (0x01, sp), y - 103 ; ../qsort.c: 52: if(nmemb <= 1) - 00003C 1E 11 [ 2] 104 ldw x, (0x11, sp) - 00003E A3 00 01 [ 2] 105 cpw x, #0x0001 - 106 ; ../qsort.c: 53: return; - 000041 23 55 [ 2] 107 jrule 00112$ - 108 ; ../qsort.c: 55: for(unsigned char *i = base; i < b + nmemb * size; i += size) - 000043 16 0B [ 2] 109 ldw y, (0x0b, sp) - 000045 17 03 [ 2] 110 ldw (0x03, sp), y - 000047 16 13 [ 2] 111 ldw y, (0x13, sp) - 000049 17 05 [ 2] 112 ldw (0x05, sp), y - 00004B 93 [ 1] 113 ldw x, y - 00004C 89 [ 2] 114 pushw x - 00004D 1E 13 [ 2] 115 ldw x, (0x13, sp) - 00004F 89 [ 2] 116 pushw x - 000050 CDr00r00 [ 4] 117 call __mulint - 000053 5B 04 [ 2] 118 addw sp, #4 - 000055 72 FB 01 [ 2] 119 addw x, (0x01, sp) - 000058 1F 07 [ 2] 120 ldw (0x07, sp), x - 00005A 121 00110$: - 00005A 1E 03 [ 2] 122 ldw x, (0x03, sp) - 00005C 13 07 [ 2] 123 cpw x, (0x07, sp) - 00005E 24 38 [ 1] 124 jrnc 00112$ - 125 ; ../qsort.c: 57: for(unsigned char *j = i; (j > b) && (*compar)(j, j - size) < 0; j -= size) - 000060 16 03 [ 2] 126 ldw y, (0x03, sp) - 000062 127 00107$: - 000062 51 [ 1] 128 exgw x, y - 000063 13 01 [ 2] 129 cpw x, (0x01, sp) - 000065 51 [ 1] 130 exgw x, y - 000066 23 27 [ 2] 131 jrule 00111$ - 000068 93 [ 1] 132 ldw x, y - 000069 72 F0 05 [ 2] 133 subw x, (0x05, sp) - 00006C 1F 09 [ 2] 134 ldw (0x09, sp), x - 00006E 17 0B [ 2] 135 ldw (0x0b, sp), y - 000070 89 [ 2] 136 pushw x - 000071 1E 0D [ 2] 137 ldw x, (0x0d, sp) - 000073 89 [ 2] 138 pushw x - 000074 1E 19 [ 2] 139 ldw x, (0x19, sp) - 000076 FD [ 4] 140 call (x) - 000077 5B 04 [ 2] 141 addw sp, #4 - 000079 5D [ 2] 142 tnzw x - 00007A 2A 13 [ 1] 143 jrpl 00111$ - 144 ; ../qsort.c: 58: swap(j, j - size, size); - 00007C 1E 09 [ 2] 145 ldw x, (0x09, sp) - 00007E 16 05 [ 2] 146 ldw y, (0x05, sp) - 000080 90 89 [ 2] 147 pushw y - 000082 89 [ 2] 148 pushw x - 000083 1E 0F [ 2] 149 ldw x, (0x0f, sp) - 000085 89 [ 2] 150 pushw x - 000086 CDr00r00 [ 4] 151 call _swap - 000089 5B 06 [ 2] 152 addw sp, #6 - 153 ; ../qsort.c: 57: for(unsigned char *j = i; (j > b) && (*compar)(j, j - size) < 0; j -= size) - 00008B 16 09 [ 2] 154 ldw y, (0x09, sp) - 00008D 20 D3 [ 2] 155 jra 00107$ - 00008F 156 00111$: - 157 ; ../qsort.c: 55: for(unsigned char *i = base; i < b + nmemb * size; i += size) - 00008F 1E 03 [ 2] 158 ldw x, (0x03, sp) - 000091 72 FB 05 [ 2] 159 addw x, (0x05, sp) - 000094 1F 03 [ 2] 160 ldw (0x03, sp), x - 000096 20 C2 [ 2] 161 jra 00110$ - 000098 162 00112$: - 163 ; ../qsort.c: 60: } - 000098 5B 0C [ 2] 164 addw sp, #12 - 00009A 81 [ 4] 165 ret - 166 .area CODE - 167 .area CONST - 168 .area INITIALIZER - 169 .area CABS (ABS) |
