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