GAS LISTING /tmp/cc0ndqQ4.s page 1 1 .file "mktime.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._make_time_t,"ax",@progbits 9 .type _make_time_t, @function 10 _make_time_t: 11 0000 4F92 push r4 12 0002 5F92 push r5 13 0004 6F92 push r6 14 0006 7F92 push r7 15 0008 AF92 push r10 16 000a BF92 push r11 17 000c CF92 push r12 18 000e DF92 push r13 19 0010 EF92 push r14 20 0012 FF92 push r15 21 0014 0F93 push r16 22 0016 1F93 push r17 23 0018 CF93 push r28 24 001a DF93 push r29 25 001c 00D0 rcall . 26 001e 1F92 push __zero_reg__ 27 0020 CDB7 in r28,__SP_L__ 28 0022 DEB7 in r29,__SP_H__ 29 /* prologue: function */ 30 /* frame size = 4 */ 31 /* stack size = 18 */ 32 .L__stack_usage = 18 33 0024 8C01 movw r16,r24 34 0026 5B01 movw r10,r22 35 0028 FC01 movw r30,r24 36 002a 8285 ldd r24,Z+10 37 002c 9385 ldd r25,Z+11 38 002e 6C01 movw r12,r24 39 0030 092E mov __tmp_reg__,r25 40 0032 000C lsl r0 41 0034 EE08 sbc r14,r14 42 0036 FF08 sbc r15,r15 43 0038 C982 std Y+1,r12 44 003a DA82 std Y+2,r13 45 003c EB82 std Y+3,r14 46 003e FC82 std Y+4,r15 47 0040 8554 subi r24,69 48 0042 9109 sbc r25,__zero_reg__ 49 0044 8734 cpi r24,71 50 0046 9105 cpc r25,__zero_reg__ 51 0048 00F0 brlo .L2 52 .L9: 53 004a 6FEF ldi r22,lo8(-1) 54 004c 7FEF ldi r23,lo8(-1) 55 004e CB01 movw r24,r22 56 0050 00C0 rjmp .L3 57 .L2: GAS LISTING /tmp/cc0ndqQ4.s page 2 58 0052 F801 movw r30,r16 59 0054 8085 ldd r24,Z+8 60 0056 9185 ldd r25,Z+9 61 0058 8C30 cpi r24,12 62 005a 9105 cpc r25,__zero_reg__ 63 005c 00F4 brsh .L4 64 .L10: 65 005e F801 movw r30,r16 66 0060 8085 ldd r24,Z+8 67 0062 9185 ldd r25,Z+9 68 0064 FC01 movw r30,r24 69 0066 EE0F lsl r30 70 0068 FF1F rol r31 71 006a E050 subi r30,lo8(-(_days)) 72 006c F040 sbci r31,hi8(-(_days)) 73 006e C080 ld r12,Z 74 0070 D180 ldd r13,Z+1 75 0072 2601 movw r4,r12 76 0074 DD0C lsl r13 77 0076 6608 sbc r6,r6 78 0078 7708 sbc r7,r7 79 007a C980 ldd r12,Y+1 80 007c DA80 ldd r13,Y+2 81 007e EB80 ldd r14,Y+3 82 0080 FC80 ldd r15,Y+4 83 0082 B701 movw r22,r14 84 0084 A601 movw r20,r12 85 0086 4370 andi r20,3 86 0088 5527 clr r21 87 008a 6627 clr r22 88 008c 7727 clr r23 89 008e 452B or r20,r21 90 0090 462B or r20,r22 91 0092 472B or r20,r23 92 0094 01F0 breq .L5 93 0096 00C0 rjmp .L6 94 .L4: 95 0098 6CE0 ldi r22,lo8(12) 96 009a 70E0 ldi r23,0 97 009c 0E94 0000 call __divmodhi4 98 00a0 AB01 movw r20,r22 99 00a2 770F lsl r23 100 00a4 660B sbc r22,r22 101 00a6 770B sbc r23,r23 102 00a8 C40E add r12,r20 103 00aa D51E adc r13,r21 104 00ac E61E adc r14,r22 105 00ae F71E adc r15,r23 106 00b0 C982 std Y+1,r12 107 00b2 DA82 std Y+2,r13 108 00b4 EB82 std Y+3,r14 109 00b6 FC82 std Y+4,r15 110 00b8 97FD sbrc r25,7 111 00ba 00C0 rjmp .L7 112 00bc F801 movw r30,r16 113 00be 9187 std Z+9,r25 114 00c0 8087 std Z+8,r24 GAS LISTING /tmp/cc0ndqQ4.s page 3 115 00c2 00C0 rjmp .L8 116 .L7: 117 00c4 0C96 adiw r24,12 118 00c6 F801 movw r30,r16 119 00c8 9187 std Z+9,r25 120 00ca 8087 std Z+8,r24 121 00cc F1E0 ldi r31,1 122 00ce CF1A sub r12,r31 123 00d0 D108 sbc r13,__zero_reg__ 124 00d2 E108 sbc r14,__zero_reg__ 125 00d4 F108 sbc r15,__zero_reg__ 126 00d6 C982 std Y+1,r12 127 00d8 DA82 std Y+2,r13 128 00da EB82 std Y+3,r14 129 00dc FC82 std Y+4,r15 130 .L8: 131 00de 8981 ldd r24,Y+1 132 00e0 9A81 ldd r25,Y+2 133 00e2 AB81 ldd r26,Y+3 134 00e4 BC81 ldd r27,Y+4 135 00e6 8554 subi r24,69 136 00e8 9109 sbc r25,__zero_reg__ 137 00ea A109 sbc r26,__zero_reg__ 138 00ec B109 sbc r27,__zero_reg__ 139 00ee 8734 cpi r24,71 140 00f0 9105 cpc r25,__zero_reg__ 141 00f2 A105 cpc r26,__zero_reg__ 142 00f4 B105 cpc r27,__zero_reg__ 143 00f6 00F4 brsh .+2 144 00f8 00C0 rjmp .L10 145 00fa 00C0 rjmp .L9 146 .L5: 147 00fc 0297 sbiw r24,2 148 00fe 04F0 brlt .L6 149 0100 2FEF ldi r18,-1 150 0102 421A sub r4,r18 151 0104 520A sbc r5,r18 152 0106 620A sbc r6,r18 153 0108 720A sbc r7,r18 154 .L6: 155 010a A701 movw r20,r14 156 010c 9601 movw r18,r12 157 010e 2654 subi r18,70 158 0110 3109 sbc r19,__zero_reg__ 159 0112 4109 sbc r20,__zero_reg__ 160 0114 5109 sbc r21,__zero_reg__ 161 0116 ADE6 ldi r26,lo8(109) 162 0118 B1E0 ldi r27,lo8(1) 163 011a 0E94 0000 call __muluhisi3 164 011e E1E0 ldi r30,1 165 0120 CE1A sub r12,r30 166 0122 D108 sbc r13,__zero_reg__ 167 0124 E108 sbc r14,__zero_reg__ 168 0126 F108 sbc r15,__zero_reg__ 169 0128 22E0 ldi r18,2 170 1: 171 012a F594 asr r15 GAS LISTING /tmp/cc0ndqQ4.s page 4 172 012c E794 ror r14 173 012e D794 ror r13 174 0130 C794 ror r12 175 0132 2A95 dec r18 176 0134 01F4 brne 1b 177 0136 DC01 movw r26,r24 178 0138 CB01 movw r24,r22 179 013a 8C0D add r24,r12 180 013c 9D1D adc r25,r13 181 013e AE1D adc r26,r14 182 0140 BF1D adc r27,r15 183 0142 4197 sbiw r24,17 184 0144 A109 sbc r26,__zero_reg__ 185 0146 B109 sbc r27,__zero_reg__ 186 0148 7301 movw r14,r6 187 014a 6201 movw r12,r4 188 014c C80E add r12,r24 189 014e D91E adc r13,r25 190 0150 EA1E adc r14,r26 191 0152 FB1E adc r15,r27 192 0154 F801 movw r30,r16 193 0156 8681 ldd r24,Z+6 194 0158 9781 ldd r25,Z+7 195 015a 092E mov __tmp_reg__,r25 196 015c 000C lsl r0 197 015e AA0B sbc r26,r26 198 0160 BB0B sbc r27,r27 199 0162 2601 movw r4,r12 200 0164 3701 movw r6,r14 201 0166 480E add r4,r24 202 0168 591E adc r5,r25 203 016a 6A1E adc r6,r26 204 016c 7B1E adc r7,r27 205 016e F7FC sbrc r15,7 206 0170 00C0 rjmp .L11 207 0172 B7FD sbrc r27,7 208 0174 00C0 rjmp .L12 209 0176 77FE sbrs r7,7 210 0178 00C0 rjmp .L12 211 017a 00C0 rjmp .L9 212 .L11: 213 017c B7FF sbrs r27,7 214 017e 00C0 rjmp .L12 215 0180 77FE sbrs r7,7 216 0182 00C0 rjmp .L9 217 .L12: 218 0184 A8E1 ldi r26,lo8(24) 219 0186 B0E0 ldi r27,0 220 0188 A301 movw r20,r6 221 018a 9201 movw r18,r4 222 018c 0E94 0000 call __muluhisi3 223 0190 6B01 movw r12,r22 224 0192 7C01 movw r14,r24 225 0194 4528 or r4,r5 226 0196 4628 or r4,r6 227 0198 4728 or r4,r7 228 019a 01F0 breq .L13 GAS LISTING /tmp/cc0ndqQ4.s page 5 229 019c 0E94 0000 call __divmodsi4 230 01a0 2831 cpi r18,24 231 01a2 3105 cpc r19,__zero_reg__ 232 01a4 4105 cpc r20,__zero_reg__ 233 01a6 5105 cpc r21,__zero_reg__ 234 01a8 01F0 breq .+2 235 01aa 00C0 rjmp .L9 236 .L13: 237 01ac F801 movw r30,r16 238 01ae 8481 ldd r24,Z+4 239 01b0 9581 ldd r25,Z+5 240 01b2 092E mov __tmp_reg__,r25 241 01b4 000C lsl r0 242 01b6 AA0B sbc r26,r26 243 01b8 BB0B sbc r27,r27 244 01ba 2601 movw r4,r12 245 01bc 3701 movw r6,r14 246 01be 480E add r4,r24 247 01c0 591E adc r5,r25 248 01c2 6A1E adc r6,r26 249 01c4 7B1E adc r7,r27 250 01c6 F7FC sbrc r15,7 251 01c8 00C0 rjmp .L14 252 01ca B7FD sbrc r27,7 253 01cc 00C0 rjmp .L15 254 01ce 77FE sbrs r7,7 255 01d0 00C0 rjmp .L15 256 01d2 00C0 rjmp .L9 257 .L14: 258 01d4 B7FF sbrs r27,7 259 01d6 00C0 rjmp .L15 260 01d8 77FE sbrs r7,7 261 01da 00C0 rjmp .L9 262 .L15: 263 01dc ACE3 ldi r26,lo8(60) 264 01de B0E0 ldi r27,0 265 01e0 A301 movw r20,r6 266 01e2 9201 movw r18,r4 267 01e4 0E94 0000 call __muluhisi3 268 01e8 6B01 movw r12,r22 269 01ea 7C01 movw r14,r24 270 01ec 4528 or r4,r5 271 01ee 4628 or r4,r6 272 01f0 4728 or r4,r7 273 01f2 01F0 breq .L16 274 01f4 0E94 0000 call __divmodsi4 275 01f8 2C33 cpi r18,60 276 01fa 3105 cpc r19,__zero_reg__ 277 01fc 4105 cpc r20,__zero_reg__ 278 01fe 5105 cpc r21,__zero_reg__ 279 0200 01F0 breq .+2 280 0202 00C0 rjmp .L9 281 .L16: 282 0204 F801 movw r30,r16 283 0206 8281 ldd r24,Z+2 284 0208 9381 ldd r25,Z+3 285 020a 092E mov __tmp_reg__,r25 GAS LISTING /tmp/cc0ndqQ4.s page 6 286 020c 000C lsl r0 287 020e AA0B sbc r26,r26 288 0210 BB0B sbc r27,r27 289 0212 2601 movw r4,r12 290 0214 3701 movw r6,r14 291 0216 480E add r4,r24 292 0218 591E adc r5,r25 293 021a 6A1E adc r6,r26 294 021c 7B1E adc r7,r27 295 021e F7FC sbrc r15,7 296 0220 00C0 rjmp .L17 297 0222 B7FD sbrc r27,7 298 0224 00C0 rjmp .L18 299 0226 77FE sbrs r7,7 300 0228 00C0 rjmp .L18 301 022a 00C0 rjmp .L9 302 .L17: 303 022c B7FF sbrs r27,7 304 022e 00C0 rjmp .L18 305 0230 77FE sbrs r7,7 306 0232 00C0 rjmp .L9 307 .L18: 308 0234 ACE3 ldi r26,lo8(60) 309 0236 B0E0 ldi r27,0 310 0238 A301 movw r20,r6 311 023a 9201 movw r18,r4 312 023c 0E94 0000 call __muluhisi3 313 0240 6B01 movw r12,r22 314 0242 7C01 movw r14,r24 315 0244 4528 or r4,r5 316 0246 4628 or r4,r6 317 0248 4728 or r4,r7 318 024a 01F0 breq .L19 319 024c 0E94 0000 call __divmodsi4 320 0250 2C33 cpi r18,60 321 0252 3105 cpc r19,__zero_reg__ 322 0254 4105 cpc r20,__zero_reg__ 323 0256 5105 cpc r21,__zero_reg__ 324 0258 01F0 breq .+2 325 025a 00C0 rjmp .L9 326 .L19: 327 025c F801 movw r30,r16 328 025e 4081 ld r20,Z 329 0260 5181 ldd r21,Z+1 330 0262 052E mov __tmp_reg__,r21 331 0264 000C lsl r0 332 0266 660B sbc r22,r22 333 0268 770B sbc r23,r23 334 026a D701 movw r26,r14 335 026c C601 movw r24,r12 336 026e 840F add r24,r20 337 0270 951F adc r25,r21 338 0272 A61F adc r26,r22 339 0274 B71F adc r27,r23 340 0276 8983 std Y+1,r24 341 0278 9A83 std Y+2,r25 342 027a AB83 std Y+3,r26 GAS LISTING /tmp/cc0ndqQ4.s page 7 343 027c BC83 std Y+4,r27 344 027e F7FC sbrc r15,7 345 0280 00C0 rjmp .L20 346 0282 77FD sbrc r23,7 347 0284 00C0 rjmp .L21 348 0286 B7FF sbrs r27,7 349 0288 00C0 rjmp .L21 350 028a 00C0 rjmp .L9 351 .L20: 352 028c 77FF sbrs r23,7 353 028e 00C0 rjmp .L21 354 0290 B7FF sbrs r27,7 355 0292 00C0 rjmp .L9 356 .L21: 357 0294 AB28 or r10,r11 358 0296 01F0 breq .L22 359 0298 4091 0000 lds r20,_timezone 360 029c 5091 0000 lds r21,_timezone+1 361 02a0 6091 0000 lds r22,_timezone+2 362 02a4 7091 0000 lds r23,_timezone+3 363 02a8 840F add r24,r20 364 02aa 951F adc r25,r21 365 02ac A61F adc r26,r22 366 02ae B71F adc r27,r23 367 02b0 8983 std Y+1,r24 368 02b2 9A83 std Y+2,r25 369 02b4 AB83 std Y+3,r26 370 02b6 BC83 std Y+4,r27 371 02b8 CE01 movw r24,r28 372 02ba 0196 adiw r24,1 373 02bc 0E94 0000 call localtime 374 02c0 0097 sbiw r24,0 375 02c2 01F4 brne .+2 376 02c4 00C0 rjmp .L9 377 02c6 F801 movw r30,r16 378 02c8 2089 ldd r18,Z+16 379 02ca 3189 ldd r19,Z+17 380 02cc 1216 cp __zero_reg__,r18 381 02ce 1306 cpc __zero_reg__,r19 382 02d0 04F0 brlt .L23 383 02d2 232B or r18,r19 384 02d4 01F0 breq .L24 385 02d6 FC01 movw r30,r24 386 02d8 2089 ldd r18,Z+16 387 02da 3189 ldd r19,Z+17 388 02dc 1216 cp __zero_reg__,r18 389 02de 1306 cpc __zero_reg__,r19 390 02e0 04F4 brge .L24 391 .L23: 392 02e2 4981 ldd r20,Y+1 393 02e4 5A81 ldd r21,Y+2 394 02e6 6B81 ldd r22,Y+3 395 02e8 7C81 ldd r23,Y+4 396 02ea 8091 0000 lds r24,_dstbias 397 02ee 9091 0000 lds r25,_dstbias+1 398 02f2 A091 0000 lds r26,_dstbias+2 399 02f6 B091 0000 lds r27,_dstbias+3 GAS LISTING /tmp/cc0ndqQ4.s page 8 400 02fa 840F add r24,r20 401 02fc 951F adc r25,r21 402 02fe A61F adc r26,r22 403 0300 B71F adc r27,r23 404 0302 8983 std Y+1,r24 405 0304 9A83 std Y+2,r25 406 0306 AB83 std Y+3,r26 407 0308 BC83 std Y+4,r27 408 030a CE01 movw r24,r28 409 030c 0196 adiw r24,1 410 030e 0E94 0000 call localtime 411 0312 00C0 rjmp .L24 412 .L22: 413 0314 CE01 movw r24,r28 414 0316 0196 adiw r24,1 415 0318 0E94 0000 call gmtime 416 031c 0097 sbiw r24,0 417 031e 01F4 brne .+2 418 0320 00C0 rjmp .L9 419 .L24: 420 0322 22E1 ldi r18,lo8(18) 421 0324 FC01 movw r30,r24 422 0326 D801 movw r26,r16 423 0: 424 0328 0190 ld r0,Z+ 425 032a 0D92 st X+,r0 426 032c 2A95 dec r18 427 032e 01F4 brne 0b 428 0330 6981 ldd r22,Y+1 429 0332 7A81 ldd r23,Y+2 430 0334 8B81 ldd r24,Y+3 431 0336 9C81 ldd r25,Y+4 432 .L3: 433 /* epilogue start */ 434 0338 0F90 pop __tmp_reg__ 435 033a 0F90 pop __tmp_reg__ 436 033c 0F90 pop __tmp_reg__ 437 033e 0F90 pop __tmp_reg__ 438 0340 DF91 pop r29 439 0342 CF91 pop r28 440 0344 1F91 pop r17 441 0346 0F91 pop r16 442 0348 FF90 pop r15 443 034a EF90 pop r14 444 034c DF90 pop r13 445 034e CF90 pop r12 446 0350 BF90 pop r11 447 0352 AF90 pop r10 448 0354 7F90 pop r7 449 0356 6F90 pop r6 450 0358 5F90 pop r5 451 035a 4F90 pop r4 452 035c 0895 ret 453 .size _make_time_t, .-_make_time_t 454 .section .text.mktime,"ax",@progbits 455 .global mktime 456 .type mktime, @function GAS LISTING /tmp/cc0ndqQ4.s page 9 457 mktime: 458 /* prologue: function */ 459 /* frame size = 0 */ 460 /* stack size = 0 */ 461 .L__stack_usage = 0 462 0000 61E0 ldi r22,lo8(1) 463 0002 70E0 ldi r23,0 464 0004 0C94 0000 jmp _make_time_t 465 .size mktime, .-mktime 466 .section .text._mkgmtime,"ax",@progbits 467 .global _mkgmtime 468 .type _mkgmtime, @function 469 _mkgmtime: 470 /* prologue: function */ 471 /* frame size = 0 */ 472 /* stack size = 0 */ 473 .L__stack_usage = 0 474 0000 60E0 ldi r22,0 475 0002 70E0 ldi r23,0 476 0004 0C94 0000 jmp _make_time_t 477 .size _mkgmtime, .-_mkgmtime 478 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/cc0ndqQ4.s page 10 DEFINED SYMBOLS *ABS*:0000000000000000 mktime.c /tmp/cc0ndqQ4.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cc0ndqQ4.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cc0ndqQ4.s:4 *ABS*:000000000000003f __SREG__ /tmp/cc0ndqQ4.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cc0ndqQ4.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cc0ndqQ4.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cc0ndqQ4.s:10 .text._make_time_t:0000000000000000 _make_time_t /tmp/cc0ndqQ4.s:457 .text.mktime:0000000000000000 mktime /tmp/cc0ndqQ4.s:469 .text._mkgmtime:0000000000000000 _mkgmtime UNDEFINED SYMBOLS _days __divmodhi4 __muluhisi3 __divmodsi4 _timezone localtime _dstbias gmtime