| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418 |
- GAS LISTING /tmp/ccAfnlY8.s page 1
- 1 .file "history.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.EditHistoryCreate,"ax",@progbits
- 9 .global EditHistoryCreate
- 10 .type EditHistoryCreate, @function
- 11 EditHistoryCreate:
- 12 0000 0F93 push r16
- 13 0002 1F93 push r17
- 14 0004 CF93 push r28
- 15 0006 DF93 push r29
- 16 /* prologue: function */
- 17 /* frame size = 0 */
- 18 /* stack size = 4 */
- 19 .L__stack_usage = 4
- 20 0008 8C01 movw r16,r24
- 21 000a 84E0 ldi r24,lo8(4)
- 22 000c 90E0 ldi r25,0
- 23 000e 0E94 0000 call malloc
- 24 0012 EC01 movw r28,r24
- 25 0014 892B or r24,r25
- 26 0016 01F0 breq .L2
- 27 0018 1983 std Y+1,r17
- 28 001a 0883 st Y,r16
- 29 001c 62E0 ldi r22,lo8(2)
- 30 001e 70E0 ldi r23,0
- 31 0020 C801 movw r24,r16
- 32 0022 0E94 0000 call calloc
- 33 0026 9B83 std Y+3,r25
- 34 0028 8A83 std Y+2,r24
- 35 002a 892B or r24,r25
- 36 002c 01F4 brne .L2
- 37 002e CE01 movw r24,r28
- 38 0030 0E94 0000 call free
- 39 0034 C0E0 ldi r28,0
- 40 0036 D0E0 ldi r29,0
- 41 .L2:
- 42 0038 CE01 movw r24,r28
- 43 /* epilogue start */
- 44 003a DF91 pop r29
- 45 003c CF91 pop r28
- 46 003e 1F91 pop r17
- 47 0040 0F91 pop r16
- 48 0042 0895 ret
- 49 .size EditHistoryCreate, .-EditHistoryCreate
- 50 .section .text.EditHistoryDestroy,"ax",@progbits
- 51 .global EditHistoryDestroy
- 52 .type EditHistoryDestroy, @function
- 53 EditHistoryDestroy:
- 54 0000 0F93 push r16
- 55 0002 1F93 push r17
- 56 0004 CF93 push r28
- 57 0006 DF93 push r29
- GAS LISTING /tmp/ccAfnlY8.s page 2
- 58 /* prologue: function */
- 59 /* frame size = 0 */
- 60 /* stack size = 4 */
- 61 .L__stack_usage = 4
- 62 0008 EC01 movw r28,r24
- 63 000a 892B or r24,r25
- 64 000c 01F0 breq .L7
- 65 000e 00E0 ldi r16,0
- 66 0010 10E0 ldi r17,0
- 67 .L9:
- 68 0012 8881 ld r24,Y
- 69 0014 9981 ldd r25,Y+1
- 70 0016 0817 cp r16,r24
- 71 0018 1907 cpc r17,r25
- 72 001a 04F4 brge .L15
- 73 001c EA81 ldd r30,Y+2
- 74 001e FB81 ldd r31,Y+3
- 75 0020 C801 movw r24,r16
- 76 0022 880F lsl r24
- 77 0024 991F rol r25
- 78 0026 E80F add r30,r24
- 79 0028 F91F adc r31,r25
- 80 002a 8081 ld r24,Z
- 81 002c 9181 ldd r25,Z+1
- 82 002e 0097 sbiw r24,0
- 83 0030 01F0 breq .L10
- 84 0032 0E94 0000 call free
- 85 .L10:
- 86 0036 0F5F subi r16,-1
- 87 0038 1F4F sbci r17,-1
- 88 003a 00C0 rjmp .L9
- 89 .L15:
- 90 003c CE01 movw r24,r28
- 91 /* epilogue start */
- 92 003e DF91 pop r29
- 93 0040 CF91 pop r28
- 94 0042 1F91 pop r17
- 95 0044 0F91 pop r16
- 96 0046 0C94 0000 jmp free
- 97 .L7:
- 98 /* epilogue start */
- 99 004a DF91 pop r29
- 100 004c CF91 pop r28
- 101 004e 1F91 pop r17
- 102 0050 0F91 pop r16
- 103 0052 0895 ret
- 104 .size EditHistoryDestroy, .-EditHistoryDestroy
- 105 .section .text.EditHistorySet,"ax",@progbits
- 106 .global EditHistorySet
- 107 .type EditHistorySet, @function
- 108 EditHistorySet:
- 109 0000 EF92 push r14
- 110 0002 FF92 push r15
- 111 0004 0F93 push r16
- 112 0006 1F93 push r17
- 113 0008 CF93 push r28
- 114 000a DF93 push r29
- GAS LISTING /tmp/ccAfnlY8.s page 3
- 115 /* prologue: function */
- 116 /* frame size = 0 */
- 117 /* stack size = 6 */
- 118 .L__stack_usage = 6
- 119 000c 8C01 movw r16,r24
- 120 000e 7A01 movw r14,r20
- 121 0010 0097 sbiw r24,0
- 122 0012 01F0 breq .L16
- 123 0014 77FD sbrc r23,7
- 124 0016 00C0 rjmp .L16
- 125 0018 DC01 movw r26,r24
- 126 001a 8D91 ld r24,X+
- 127 001c 9C91 ld r25,X
- 128 001e 1197 sbiw r26,1
- 129 0020 6817 cp r22,r24
- 130 0022 7907 cpc r23,r25
- 131 0024 04F4 brge .L16
- 132 0026 EB01 movw r28,r22
- 133 0028 CC0F lsl r28
- 134 002a DD1F rol r29
- 135 002c 1296 adiw r26,2
- 136 002e ED91 ld r30,X+
- 137 0030 FC91 ld r31,X
- 138 0032 1397 sbiw r26,2+1
- 139 0034 EC0F add r30,r28
- 140 0036 FD1F adc r31,r29
- 141 0038 8081 ld r24,Z
- 142 003a 9181 ldd r25,Z+1
- 143 003c 0097 sbiw r24,0
- 144 003e 01F0 breq .L20
- 145 0040 0E94 0000 call free
- 146 0044 D801 movw r26,r16
- 147 0046 1296 adiw r26,2
- 148 0048 ED91 ld r30,X+
- 149 004a FC91 ld r31,X
- 150 004c 1397 sbiw r26,2+1
- 151 004e EC0F add r30,r28
- 152 0050 FD1F adc r31,r29
- 153 0052 1182 std Z+1,__zero_reg__
- 154 0054 1082 st Z,__zero_reg__
- 155 .L20:
- 156 0056 E114 cp r14,__zero_reg__
- 157 0058 F104 cpc r15,__zero_reg__
- 158 005a 01F0 breq .L16
- 159 005c F801 movw r30,r16
- 160 005e 6281 ldd r22,Z+2
- 161 0060 7381 ldd r23,Z+3
- 162 0062 C60F add r28,r22
- 163 0064 D71F adc r29,r23
- 164 0066 C701 movw r24,r14
- 165 0068 0E94 0000 call strdup
- 166 006c 9983 std Y+1,r25
- 167 006e 8883 st Y,r24
- 168 .L16:
- 169 /* epilogue start */
- 170 0070 DF91 pop r29
- 171 0072 CF91 pop r28
- GAS LISTING /tmp/ccAfnlY8.s page 4
- 172 0074 1F91 pop r17
- 173 0076 0F91 pop r16
- 174 0078 FF90 pop r15
- 175 007a EF90 pop r14
- 176 007c 0895 ret
- 177 .size EditHistorySet, .-EditHistorySet
- 178 .section .text.EditHistoryGet,"ax",@progbits
- 179 .global EditHistoryGet
- 180 .type EditHistoryGet, @function
- 181 EditHistoryGet:
- 182 0000 CF93 push r28
- 183 0002 DF93 push r29
- 184 /* prologue: function */
- 185 /* frame size = 0 */
- 186 /* stack size = 2 */
- 187 .L__stack_usage = 2
- 188 0004 FC01 movw r30,r24
- 189 0006 CA01 movw r24,r20
- 190 0008 3097 sbiw r30,0
- 191 000a 01F0 breq .L33
- 192 000c 77FD sbrc r23,7
- 193 000e 00C0 rjmp .L33
- 194 0010 4081 ld r20,Z
- 195 0012 5181 ldd r21,Z+1
- 196 0014 6417 cp r22,r20
- 197 0016 7507 cpc r23,r21
- 198 0018 04F4 brge .L33
- 199 001a 660F lsl r22
- 200 001c 771F rol r23
- 201 001e 0280 ldd __tmp_reg__,Z+2
- 202 0020 F381 ldd r31,Z+3
- 203 0022 E02D mov r30,__tmp_reg__
- 204 0024 E60F add r30,r22
- 205 0026 F71F adc r31,r23
- 206 0028 6081 ld r22,Z
- 207 002a 7181 ldd r23,Z+1
- 208 002c 6115 cp r22,__zero_reg__
- 209 002e 7105 cpc r23,__zero_reg__
- 210 0030 01F0 breq .L33
- 211 0032 EB01 movw r28,r22
- 212 0:
- 213 0034 0990 ld __tmp_reg__,Y+
- 214 0036 0020 tst __tmp_reg__
- 215 0038 01F4 brne 0b
- 216 003a C61B sub r28,r22
- 217 003c D70B sbc r29,r23
- 218 003e 0097 sbiw r24,0
- 219 0040 01F0 breq .L28
- 220 0042 2C17 cp r18,r28
- 221 0044 3D07 cpc r19,r29
- 222 0046 04F4 brge .L29
- 223 0048 E901 movw r28,r18
- 224 .L29:
- 225 004a AE01 movw r20,r28
- 226 004c 0E94 0000 call memcpy
- 227 0050 00C0 rjmp .L28
- 228 .L33:
- GAS LISTING /tmp/ccAfnlY8.s page 5
- 229 0052 C0E0 ldi r28,0
- 230 0054 D0E0 ldi r29,0
- 231 .L28:
- 232 0056 CE01 movw r24,r28
- 233 0058 0197 sbiw r24,1
- 234 /* epilogue start */
- 235 005a DF91 pop r29
- 236 005c CF91 pop r28
- 237 005e 0895 ret
- 238 .size EditHistoryGet, .-EditHistoryGet
- 239 .section .text.EditHistoryInsert,"ax",@progbits
- 240 .global EditHistoryInsert
- 241 .type EditHistoryInsert, @function
- 242 EditHistoryInsert:
- 243 0000 6F92 push r6
- 244 0002 7F92 push r7
- 245 0004 8F92 push r8
- 246 0006 9F92 push r9
- 247 0008 AF92 push r10
- 248 000a BF92 push r11
- 249 000c CF92 push r12
- 250 000e DF92 push r13
- 251 0010 EF92 push r14
- 252 0012 FF92 push r15
- 253 0014 0F93 push r16
- 254 0016 1F93 push r17
- 255 0018 CF93 push r28
- 256 001a DF93 push r29
- 257 /* prologue: function */
- 258 /* frame size = 0 */
- 259 /* stack size = 14 */
- 260 .L__stack_usage = 14
- 261 001c 8C01 movw r16,r24
- 262 001e 6B01 movw r12,r22
- 263 0020 7A01 movw r14,r20
- 264 0022 892B or r24,r25
- 265 0024 01F4 brne .+2
- 266 0026 00C0 rjmp .L37
- 267 0028 4115 cp r20,__zero_reg__
- 268 002a 5105 cpc r21,__zero_reg__
- 269 002c 01F4 brne .+2
- 270 002e 00C0 rjmp .L37
- 271 0030 FA01 movw r30,r20
- 272 0032 8081 ld r24,Z
- 273 0034 8823 tst r24
- 274 0036 01F4 brne .+2
- 275 0038 00C0 rjmp .L37
- 276 003a F801 movw r30,r16
- 277 003c 8080 ld r8,Z
- 278 003e 9180 ldd r9,Z+1
- 279 0040 E401 movw r28,r8
- 280 0042 2197 sbiw r28,1
- 281 0044 77FD sbrc r23,7
- 282 0046 00C0 rjmp .L37
- 283 0048 6C17 cp r22,r28
- 284 004a 7D07 cpc r23,r29
- 285 004c 04F0 brlt .+2
- GAS LISTING /tmp/ccAfnlY8.s page 6
- 286 004e 00C0 rjmp .L37
- 287 0050 6280 ldd r6,Z+2
- 288 0052 7380 ldd r7,Z+3
- 289 0054 5B01 movw r10,r22
- 290 0056 AA0C lsl r10
- 291 0058 BB1C rol r11
- 292 005a F301 movw r30,r6
- 293 005c EA0D add r30,r10
- 294 005e FB1D adc r31,r11
- 295 0060 8081 ld r24,Z
- 296 0062 9181 ldd r25,Z+1
- 297 0064 0097 sbiw r24,0
- 298 0066 01F4 brne .L39
- 299 .L43:
- 300 0068 F801 movw r30,r16
- 301 006a 8281 ldd r24,Z+2
- 302 006c 9381 ldd r25,Z+3
- 303 006e EC01 movw r28,r24
- 304 0070 CA0D add r28,r10
- 305 0072 DB1D adc r29,r11
- 306 0074 C701 movw r24,r14
- 307 0076 0E94 0000 call strdup
- 308 007a 9983 std Y+1,r25
- 309 007c 8883 st Y,r24
- 310 007e 00C0 rjmp .L37
- 311 .L39:
- 312 0080 BA01 movw r22,r20
- 313 0082 0E94 0000 call strcmp
- 314 0086 892B or r24,r25
- 315 0088 01F0 breq .L37
- 316 008a CC0F lsl r28
- 317 008c DD1F rol r29
- 318 008e F301 movw r30,r6
- 319 0090 EC0F add r30,r28
- 320 0092 FD1F adc r31,r29
- 321 0094 8081 ld r24,Z
- 322 0096 9181 ldd r25,Z+1
- 323 0098 0097 sbiw r24,0
- 324 009a 01F0 breq .L40
- 325 009c 0E94 0000 call free
- 326 .L40:
- 327 00a0 9401 movw r18,r8
- 328 00a2 CE01 movw r24,r28
- 329 00a4 0296 adiw r24,2
- 330 .L41:
- 331 00a6 2150 subi r18,1
- 332 00a8 3109 sbc r19,__zero_reg__
- 333 00aa BC01 movw r22,r24
- 334 00ac 6250 subi r22,2
- 335 00ae 7109 sbc r23,__zero_reg__
- 336 00b0 C216 cp r12,r18
- 337 00b2 D306 cpc r13,r19
- 338 00b4 01F0 breq .L43
- 339 00b6 F801 movw r30,r16
- 340 00b8 4281 ldd r20,Z+2
- 341 00ba 5381 ldd r21,Z+3
- 342 00bc 840F add r24,r20
- GAS LISTING /tmp/ccAfnlY8.s page 7
- 343 00be 951F adc r25,r21
- 344 00c0 FC01 movw r30,r24
- 345 00c2 3497 sbiw r30,4
- 346 00c4 8081 ld r24,Z
- 347 00c6 9181 ldd r25,Z+1
- 348 00c8 FA01 movw r30,r20
- 349 00ca E60F add r30,r22
- 350 00cc F71F adc r31,r23
- 351 00ce 9183 std Z+1,r25
- 352 00d0 8083 st Z,r24
- 353 00d2 CB01 movw r24,r22
- 354 00d4 00C0 rjmp .L41
- 355 .L37:
- 356 /* epilogue start */
- 357 00d6 DF91 pop r29
- 358 00d8 CF91 pop r28
- 359 00da 1F91 pop r17
- 360 00dc 0F91 pop r16
- 361 00de FF90 pop r15
- 362 00e0 EF90 pop r14
- 363 00e2 DF90 pop r13
- 364 00e4 CF90 pop r12
- 365 00e6 BF90 pop r11
- 366 00e8 AF90 pop r10
- 367 00ea 9F90 pop r9
- 368 00ec 8F90 pop r8
- 369 00ee 7F90 pop r7
- 370 00f0 6F90 pop r6
- 371 00f2 0895 ret
- 372 .size EditHistoryInsert, .-EditHistoryInsert
- 373 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccAfnlY8.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 history.c
- /tmp/ccAfnlY8.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccAfnlY8.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccAfnlY8.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccAfnlY8.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccAfnlY8.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccAfnlY8.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccAfnlY8.s:11 .text.EditHistoryCreate:0000000000000000 EditHistoryCreate
- /tmp/ccAfnlY8.s:53 .text.EditHistoryDestroy:0000000000000000 EditHistoryDestroy
- /tmp/ccAfnlY8.s:108 .text.EditHistorySet:0000000000000000 EditHistorySet
- /tmp/ccAfnlY8.s:181 .text.EditHistoryGet:0000000000000000 EditHistoryGet
- /tmp/ccAfnlY8.s:242 .text.EditHistoryInsert:0000000000000000 EditHistoryInsert
- UNDEFINED SYMBOLS
- malloc
- calloc
- free
- strdup
- memcpy
- strcmp
|