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