summaryrefslogtreecommitdiff
path: root/device/lib/stm8/malloc.lst
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-23 03:38:32 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-23 03:38:32 +0200
commit2cece67cb5af0339e4ab1f18b0bce2f0b4e6ebdd (patch)
treeb2fbf4e99f194213527304c9189abe65c163ac0b /device/lib/stm8/malloc.lst
parented26eb00026800d1d2ff6289627216c7d1f0d459 (diff)
downloadsdcc-gas-2cece67cb5af0339e4ab1f18b0bce2f0b4e6ebdd.tar.gz
Removed intermediate files
Diffstat (limited to 'device/lib/stm8/malloc.lst')
-rw-r--r--device/lib/stm8/malloc.lst182
1 files changed, 0 insertions, 182 deletions
diff --git a/device/lib/stm8/malloc.lst b/device/lib/stm8/malloc.lst
deleted file mode 100644
index cdcb2ce..0000000
--- a/device/lib/stm8/malloc.lst
+++ /dev/null
@@ -1,182 +0,0 @@
- 1 ;--------------------------------------------------------
- 2 ; File Created by SDCC : free open source ANSI-C Compiler
- 3 ; Version 3.9.3 #11345 (Linux)
- 4 ;--------------------------------------------------------
- 5 .module malloc
- 6 .optsdcc -mstm8
- 7
- 8 ;--------------------------------------------------------
- 9 ; Public variables in this module
- 10 ;--------------------------------------------------------
- 11 .globl ___sdcc_heap_init
- 12 .globl ___sdcc_heap_free
- 13 .globl _malloc
- 14 ;--------------------------------------------------------
- 15 ; ram data
- 16 ;--------------------------------------------------------
- 17 .area DATA
- 000000 18 ___sdcc_heap_free::
- 000000 19 .ds 2
- 20 ;--------------------------------------------------------
- 21 ; ram data
- 22 ;--------------------------------------------------------
- 23 .area INITIALIZED
- 24 ;--------------------------------------------------------
- 25 ; absolute external ram data
- 26 ;--------------------------------------------------------
- 27 .area DABS (ABS)
- 28
- 29 ; default segment ordering for linker
- 30 .area HOME
- 31 .area GSINIT
- 32 .area GSFINAL
- 33 .area CONST
- 34 .area INITIALIZER
- 35 .area CODE
- 36
- 37 ;--------------------------------------------------------
- 38 ; global & static initialisations
- 39 ;--------------------------------------------------------
- 40 .area HOME
- 41 .area GSINIT
- 42 .area GSFINAL
- 43 .area GSINIT
- 44 ;--------------------------------------------------------
- 45 ; Home
- 46 ;--------------------------------------------------------
- 47 .area HOME
- 48 .area HOME
- 49 ;--------------------------------------------------------
- 50 ; code
- 51 ;--------------------------------------------------------
- 52 .area CODE
- 53 ; ../malloc.c: 65: void __sdcc_heap_init(void)
- 54 ; -----------------------------------------
- 55 ; function __sdcc_heap_init
- 56 ; -----------------------------------------
- 000000 57 ___sdcc_heap_init:
- 58 ; ../malloc.c: 67: __sdcc_heap_free = HEAP_START;
- 000000 AEr00r00 [ 2] 59 ldw x, #(___sdcc_heap + 0)
- 000003 CFu00u00 [ 2] 60 ldw ___sdcc_heap_free+0, x
- 61 ; ../malloc.c: 68: __sdcc_heap_free->next = HEAP_END;
- 000006 AEr00r00 [ 2] 62 ldw x, #___sdcc_heap_end+0
- 000009 72 CFu00u00 [ 5] 63 ldw [___sdcc_heap_free+0], x
- 64 ; ../malloc.c: 69: __sdcc_heap_free->next_free = 0;
- 00000D CEu00u00 [ 2] 65 ldw x, ___sdcc_heap_free+0
- 000010 5C [ 1] 66 incw x
- 000011 5C [ 1] 67 incw x
- 000012 6F 01 [ 1] 68 clr (0x1, x)
- 000014 7F [ 1] 69 clr (x)
- 70 ; ../malloc.c: 70: }
- 000015 81 [ 4] 71 ret
- 72 ; ../malloc.c: 75: void *malloc(size_t size)
- 73 ; -----------------------------------------
- 74 ; function malloc
- 75 ; -----------------------------------------
- 000016 76 _malloc:
- 000016 52 0C [ 2] 77 sub sp, #12
- 78 ; ../malloc.c: 86: if(!size || size + offsetof(struct header, next_free) < size)
- 000018 1E 0F [ 2] 79 ldw x, (0x0f, sp)
- 00001A 27 06 [ 1] 80 jreq 00101$
- 00001C 5C [ 1] 81 incw x
- 00001D 5C [ 1] 82 incw x
- 00001E 13 0F [ 2] 83 cpw x, (0x0f, sp)
- 000020 24 03 [ 1] 84 jrnc 00102$
- 000022 85 00101$:
- 86 ; ../malloc.c: 87: return(0);
- 000022 5F [ 1] 87 clrw x
- 000023 20 74 [ 2] 88 jra 00115$
- 000025 89 00102$:
- 90 ; ../malloc.c: 88: size += offsetof(struct header, next_free);
- 91 ; ../malloc.c: 89: if(size < sizeof(struct header)) // Requiring a minimum size makes it easier to implement free(), and avoid memory leaks.
- 000025 1F 0F [ 2] 92 ldw (0x0f, sp), x
- 000027 A3 00 04 [ 2] 93 cpw x, #0x0004
- 00002A 24 05 [ 1] 94 jrnc 00105$
- 95 ; ../malloc.c: 90: size = sizeof(struct header);
- 00002C AE 00 04 [ 2] 96 ldw x, #0x0004
- 00002F 1F 0F [ 2] 97 ldw (0x0f, sp), x
- 000031 98 00105$:
- 99 ; ../malloc.c: 92: for(h = __sdcc_heap_free, f = &__sdcc_heap_free; h; f = &(h->next_free), h = h->next_free)
- 000031 CEu00u00 [ 2] 100 ldw x, ___sdcc_heap_free+0
- 000034 1F 01 [ 2] 101 ldw (0x01, sp), x
- 000036 AEr00r00 [ 2] 102 ldw x, #(___sdcc_heap_free + 0)
- 000039 1F 03 [ 2] 103 ldw (0x03, sp), x
- 00003B 104 00113$:
- 105 ; ../malloc.c: 94: size_t blocksize = (char HEAPSPACE *)(h->next) - (char HEAPSPACE *)h;
- 00003B 1E 01 [ 2] 106 ldw x, (0x01, sp)
- 00003D 27 59 [ 1] 107 jreq 00111$
- 00003F FE [ 2] 108 ldw x, (x)
- 000040 1F 05 [ 2] 109 ldw (0x05, sp), x
- 000042 90 93 [ 1] 110 ldw y, x
- 000044 1E 01 [ 2] 111 ldw x, (0x01, sp)
- 000046 1F 07 [ 2] 112 ldw (0x07, sp), x
- 000048 72 F2 07 [ 2] 113 subw y, (0x07, sp)
- 114 ; ../malloc.c: 101: newheader->next_free = h->next_free;
- 00004B 1E 01 [ 2] 115 ldw x, (0x01, sp)
- 00004D 5C [ 1] 116 incw x
- 00004E 5C [ 1] 117 incw x
- 00004F 1F 09 [ 2] 118 ldw (0x09, sp), x
- 119 ; ../malloc.c: 95: if(blocksize >= size) // Found free block of sufficient size.
- 000051 51 [ 1] 120 exgw x, y
- 000052 13 0F [ 2] 121 cpw x, (0x0f, sp)
- 000054 51 [ 1] 122 exgw x, y
- 000055 25 36 [ 1] 123 jrc 00114$
- 124 ; ../malloc.c: 97: if(blocksize >= size + sizeof(struct header)) // It is worth creating a new free block
- 000057 1E 0F [ 2] 125 ldw x, (0x0f, sp)
- 000059 1C 00 04 [ 2] 126 addw x, #0x0004
- 00005C 1F 0B [ 2] 127 ldw (0x0b, sp), x
- 00005E 93 [ 1] 128 ldw x, y
- 00005F 13 0B [ 2] 129 cpw x, (0x0b, sp)
- 000061 25 1F [ 1] 130 jrc 00107$
- 131 ; ../malloc.c: 99: header_t *const newheader = (header_t *const)((char HEAPSPACE *)h + size);
- 000063 1E 07 [ 2] 132 ldw x, (0x07, sp)
- 000065 72 FB 0F [ 2] 133 addw x, (0x0f, sp)
- 134 ; ../malloc.c: 100: newheader->next = h->next;
- 000068 1F 0B [ 2] 135 ldw (0x0b, sp), x
- 00006A 16 05 [ 2] 136 ldw y, (0x05, sp)
- 00006C FF [ 2] 137 ldw (x), y
- 138 ; ../malloc.c: 101: newheader->next_free = h->next_free;
- 00006D 1E 0B [ 2] 139 ldw x, (0x0b, sp)
- 00006F 5C [ 1] 140 incw x
- 000070 5C [ 1] 141 incw x
- 000071 16 09 [ 2] 142 ldw y, (0x09, sp)
- 000073 90 FE [ 2] 143 ldw y, (y)
- 000075 FF [ 2] 144 ldw (x), y
- 145 ; ../malloc.c: 102: *f = newheader;
- 000076 1E 03 [ 2] 146 ldw x, (0x03, sp)
- 000078 16 0B [ 2] 147 ldw y, (0x0b, sp)
- 00007A FF [ 2] 148 ldw (x), y
- 149 ; ../malloc.c: 103: h->next = newheader;
- 00007B 1E 01 [ 2] 150 ldw x, (0x01, sp)
- 00007D 16 0B [ 2] 151 ldw y, (0x0b, sp)
- 00007F FF [ 2] 152 ldw (x), y
- 000080 20 07 [ 2] 153 jra 00108$
- 000082 154 00107$:
- 155 ; ../malloc.c: 106: *f = h->next_free;
- 000082 1E 09 [ 2] 156 ldw x, (0x09, sp)
- 000084 FE [ 2] 157 ldw x, (x)
- 000085 16 03 [ 2] 158 ldw y, (0x03, sp)
- 000087 90 FF [ 2] 159 ldw (y), x
- 000089 160 00108$:
- 161 ; ../malloc.c: 108: return(&(h->next_free));
- 000089 1E 09 [ 2] 162 ldw x, (0x09, sp)
- 00008B 20 0C [ 2] 163 jra 00115$
- 00008D 164 00114$:
- 165 ; ../malloc.c: 92: for(h = __sdcc_heap_free, f = &__sdcc_heap_free; h; f = &(h->next_free), h = h->next_free)
- 00008D 16 09 [ 2] 166 ldw y, (0x09, sp)
- 00008F 17 03 [ 2] 167 ldw (0x03, sp), y
- 000091 1E 09 [ 2] 168 ldw x, (0x09, sp)
- 000093 FE [ 2] 169 ldw x, (x)
- 000094 1F 01 [ 2] 170 ldw (0x01, sp), x
- 000096 20 A3 [ 2] 171 jra 00113$
- 000098 172 00111$:
- 173 ; ../malloc.c: 112: return(0);
- 000098 5F [ 1] 174 clrw x
- 000099 175 00115$:
- 176 ; ../malloc.c: 113: }
- 000099 5B 0C [ 2] 177 addw sp, #12
- 00009B 81 [ 4] 178 ret
- 179 .area CODE
- 180 .area CONST
- 181 .area INITIALIZER
- 182 .area CABS (ABS)