GAS LISTING /tmp/ccTI1OeV.s page 1 1 .file "gmtime.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.gmtime_r,"ax",@progbits 9 .global gmtime_r 10 .type gmtime_r, @function 11 gmtime_r: 12 0000 4F92 push r4 13 0002 5F92 push r5 14 0004 6F92 push r6 15 0006 7F92 push r7 16 0008 8F92 push r8 17 000a 9F92 push r9 18 000c AF92 push r10 19 000e BF92 push r11 20 0010 CF92 push r12 21 0012 DF92 push r13 22 0014 EF92 push r14 23 0016 FF92 push r15 24 0018 0F93 push r16 25 001a 1F93 push r17 26 001c CF93 push r28 27 001e DF93 push r29 28 /* prologue: function */ 29 /* frame size = 0 */ 30 /* stack size = 16 */ 31 .L__stack_usage = 16 32 0020 EB01 movw r28,r22 33 0022 FC01 movw r30,r24 34 0024 4080 ld r4,Z 35 0026 5180 ldd r5,Z+1 36 0028 6280 ldd r6,Z+2 37 002a 7380 ldd r7,Z+3 38 002c 2097 sbiw r28,0 39 002e 01F4 brne .+2 40 0030 00C0 rjmp .L10 41 0032 C301 movw r24,r6 42 0034 B201 movw r22,r4 43 0036 20E8 ldi r18,lo8(-128) 44 0038 3FE1 ldi r19,lo8(31) 45 003a 46E8 ldi r20,lo8(-122) 46 003c 57E0 ldi r21,lo8(7) 47 003e 0E94 0000 call __udivmodsi4 48 0042 4901 movw r8,r18 49 0044 5A01 movw r10,r20 50 0046 60E8 ldi r22,lo8(-128) 51 0048 7FE1 ldi r23,lo8(31) 52 004a 86E8 ldi r24,lo8(-122) 53 004c 97E0 ldi r25,lo8(7) 54 004e 0E94 0000 call __mulsi3 55 0052 9301 movw r18,r6 56 0054 8201 movw r16,r4 57 0056 061B sub r16,r22 GAS LISTING /tmp/ccTI1OeV.s page 2 58 0058 170B sbc r17,r23 59 005a 280B sbc r18,r24 60 005c 390B sbc r19,r25 61 005e B901 movw r22,r18 62 0060 A801 movw r20,r16 63 0062 6801 movw r12,r16 64 0064 7901 movw r14,r18 65 0066 D501 movw r26,r10 66 0068 C401 movw r24,r8 67 006a 32E0 ldi r19,2 68 1: 69 006c 880F lsl r24 70 006e 991F rol r25 71 0070 AA1F rol r26 72 0072 BB1F rol r27 73 0074 3A95 dec r19 74 0076 01F4 brne 1b 75 0078 4038 cpi r20,-128 76 007a 13E3 ldi r17,51 77 007c 5107 cpc r21,r17 78 007e 11EE ldi r17,-31 79 0080 6107 cpc r22,r17 80 0082 11E0 ldi r17,1 81 0084 7107 cpc r23,r17 82 0086 04F4 brge .L3 83 0088 8A5B subi r24,-70 84 008a 9F4F sbci r25,-1 85 008c AF4F sbci r26,-1 86 008e BF4F sbci r27,-1 87 0090 00C0 rjmp .L12 88 .L3: 89 0092 4A01 movw r8,r20 90 0094 5B01 movw r10,r22 91 0096 20E8 ldi r18,-128 92 0098 821A sub r8,r18 93 009a 23E3 ldi r18,51 94 009c 920A sbc r9,r18 95 009e 21EE ldi r18,-31 96 00a0 A20A sbc r10,r18 97 00a2 21E0 ldi r18,1 98 00a4 B20A sbc r11,r18 99 00a6 30E8 ldi r19,-128 100 00a8 8316 cp r8,r19 101 00aa 33E3 ldi r19,51 102 00ac 9306 cpc r9,r19 103 00ae 31EE ldi r19,-31 104 00b0 A306 cpc r10,r19 105 00b2 31E0 ldi r19,1 106 00b4 B306 cpc r11,r19 107 00b6 00F4 brsh .L5 108 00b8 895B subi r24,-71 109 00ba 9F4F sbci r25,-1 110 00bc AF4F sbci r26,-1 111 00be BF4F sbci r27,-1 112 00c0 7501 movw r14,r10 113 00c2 6401 movw r12,r8 114 00c4 00C0 rjmp .L12 GAS LISTING /tmp/ccTI1OeV.s page 3 115 .L5: 116 00c6 E7E6 ldi r30,103 117 00c8 DE1A sub r13,r30 118 00ca E2EC ldi r30,-62 119 00cc EE0A sbc r14,r30 120 00ce E3E0 ldi r30,3 121 00d0 FE0A sbc r15,r30 122 00d2 C114 cp r12,__zero_reg__ 123 00d4 F5E8 ldi r31,-123 124 00d6 DF06 cpc r13,r31 125 00d8 F2EE ldi r31,-30 126 00da EF06 cpc r14,r31 127 00dc F1E0 ldi r31,1 128 00de FF06 cpc r15,r31 129 00e0 00F4 brsh .L6 130 00e2 885B subi r24,-72 131 00e4 9F4F sbci r25,-1 132 00e6 AF4F sbci r26,-1 133 00e8 BF4F sbci r27,-1 134 00ea 11E0 ldi r17,lo8(1) 135 00ec 00C0 rjmp .L4 136 .L6: 137 00ee 875B subi r24,-73 138 00f0 9F4F sbci r25,-1 139 00f2 AF4F sbci r26,-1 140 00f4 BF4F sbci r27,-1 141 00f6 6A01 movw r12,r20 142 00f8 7B01 movw r14,r22 143 00fa 0CEE ldi r16,-20 144 00fc D01A sub r13,r16 145 00fe 04EA ldi r16,-92 146 0100 E00A sbc r14,r16 147 0102 05E0 ldi r16,5 148 0104 F00A sbc r15,r16 149 .L12: 150 0106 10E0 ldi r17,0 151 .L4: 152 0108 9B87 std Y+11,r25 153 010a 8A87 std Y+10,r24 154 010c C701 movw r24,r14 155 010e B601 movw r22,r12 156 0110 20E8 ldi r18,lo8(-128) 157 0112 31E5 ldi r19,lo8(81) 158 0114 41E0 ldi r20,lo8(1) 159 0116 50E0 ldi r21,0 160 0118 0E94 0000 call __udivmodsi4 161 011c 4901 movw r8,r18 162 011e 5A01 movw r10,r20 163 0120 F901 movw r30,r18 164 0122 3F87 std Y+15,r19 165 0124 2E87 std Y+14,r18 166 0126 D901 movw r26,r18 167 0128 20E8 ldi r18,lo8(-128) 168 012a 31E5 ldi r19,lo8(81) 169 012c 41E0 ldi r20,lo8(1) 170 012e 50E0 ldi r21,0 171 0130 0E94 0000 call __mulshisi3 GAS LISTING /tmp/ccTI1OeV.s page 4 172 0134 C61A sub r12,r22 173 0136 D70A sbc r13,r23 174 0138 E80A sbc r14,r24 175 013a F90A sbc r15,r25 176 013c 1111 cpse r17,__zero_reg__ 177 013e 00C0 rjmp .L11 178 0140 80E0 ldi r24,lo8(_days) 179 0142 90E0 ldi r25,hi8(_days) 180 0144 00C0 rjmp .L7 181 .L11: 182 0146 80E0 ldi r24,lo8(_lpdays) 183 0148 90E0 ldi r25,hi8(_lpdays) 184 .L7: 185 014a DC01 movw r26,r24 186 014c 1296 adiw r26,2 187 014e 41E0 ldi r20,lo8(1) 188 0150 50E0 ldi r21,0 189 0152 60E0 ldi r22,0 190 0154 70E0 ldi r23,0 191 .L8: 192 0156 2D91 ld r18,X+ 193 0158 3D91 ld r19,X+ 194 015a 2E17 cp r18,r30 195 015c 3F07 cpc r19,r31 196 015e 04F4 brge .L14 197 0160 4F5F subi r20,-1 198 0162 5F4F sbci r21,-1 199 0164 6F4F sbci r22,-1 200 0166 7F4F sbci r23,-1 201 0168 00C0 rjmp .L8 202 .L14: 203 016a 4150 subi r20,1 204 016c 5109 sbc r21,__zero_reg__ 205 016e 6109 sbc r22,__zero_reg__ 206 0170 7109 sbc r23,__zero_reg__ 207 0172 5987 std Y+9,r21 208 0174 4887 std Y+8,r20 209 0176 440F lsl r20 210 0178 551F rol r21 211 017a FC01 movw r30,r24 212 017c E40F add r30,r20 213 017e F51F adc r31,r21 214 0180 8081 ld r24,Z 215 0182 9181 ldd r25,Z+1 216 0184 881A sub r8,r24 217 0186 990A sbc r9,r25 218 0188 9F82 std Y+7,r9 219 018a 8E82 std Y+6,r8 220 018c C301 movw r24,r6 221 018e B201 movw r22,r4 222 0190 20E8 ldi r18,lo8(-128) 223 0192 31E5 ldi r19,lo8(81) 224 0194 41E0 ldi r20,lo8(1) 225 0196 50E0 ldi r21,0 226 0198 0E94 0000 call __udivmodsi4 227 019c C901 movw r24,r18 228 019e 0496 adiw r24,4 GAS LISTING /tmp/ccTI1OeV.s page 5 229 01a0 67E0 ldi r22,lo8(7) 230 01a2 70E0 ldi r23,0 231 01a4 0E94 0000 call __divmodhi4 232 01a8 9D87 std Y+13,r25 233 01aa 8C87 std Y+12,r24 234 01ac C701 movw r24,r14 235 01ae B601 movw r22,r12 236 01b0 20E1 ldi r18,lo8(16) 237 01b2 3EE0 ldi r19,lo8(14) 238 01b4 40E0 ldi r20,0 239 01b6 50E0 ldi r21,0 240 01b8 0E94 0000 call __divmodsi4 241 01bc 3D83 std Y+5,r19 242 01be 2C83 std Y+4,r18 243 01c0 A0EF ldi r26,lo8(-16) 244 01c2 B1EF ldi r27,lo8(-15) 245 01c4 0E94 0000 call __mulhisi3 246 01c8 C60E add r12,r22 247 01ca D71E adc r13,r23 248 01cc E81E adc r14,r24 249 01ce F91E adc r15,r25 250 01d0 C701 movw r24,r14 251 01d2 B601 movw r22,r12 252 01d4 2CE3 ldi r18,lo8(60) 253 01d6 30E0 ldi r19,0 254 01d8 40E0 ldi r20,0 255 01da 50E0 ldi r21,0 256 01dc 0E94 0000 call __divmodsi4 257 01e0 3B83 std Y+3,r19 258 01e2 2A83 std Y+2,r18 259 01e4 14EC ldi r17,lo8(-60) 260 01e6 1203 mulsu r17,r18 261 01e8 B001 movw r22,r0 262 01ea 139F mul r17,r19 263 01ec 700D add r23,r0 264 01ee 1124 clr __zero_reg__ 265 01f0 C60E add r12,r22 266 01f2 D71E adc r13,r23 267 01f4 D982 std Y+1,r13 268 01f6 C882 st Y,r12 269 01f8 198A std Y+17,__zero_reg__ 270 01fa 188A std Y+16,__zero_reg__ 271 01fc 80E0 ldi r24,0 272 01fe 90E0 ldi r25,0 273 0200 00C0 rjmp .L2 274 .L10: 275 0202 8FEF ldi r24,lo8(-1) 276 0204 9FEF ldi r25,lo8(-1) 277 .L2: 278 /* epilogue start */ 279 0206 DF91 pop r29 280 0208 CF91 pop r28 281 020a 1F91 pop r17 282 020c 0F91 pop r16 283 020e FF90 pop r15 284 0210 EF90 pop r14 285 0212 DF90 pop r13 GAS LISTING /tmp/ccTI1OeV.s page 6 286 0214 CF90 pop r12 287 0216 BF90 pop r11 288 0218 AF90 pop r10 289 021a 9F90 pop r9 290 021c 8F90 pop r8 291 021e 7F90 pop r7 292 0220 6F90 pop r6 293 0222 5F90 pop r5 294 0224 4F90 pop r4 295 0226 0895 ret 296 .size gmtime_r, .-gmtime_r 297 .section .text.gmtime,"ax",@progbits 298 .global gmtime 299 .type gmtime, @function 300 gmtime: 301 /* prologue: function */ 302 /* frame size = 0 */ 303 /* stack size = 0 */ 304 .L__stack_usage = 0 305 0000 60E0 ldi r22,lo8(_tb) 306 0002 70E0 ldi r23,hi8(_tb) 307 0004 0E94 0000 call gmtime_r 308 0008 892B or r24,r25 309 000a 01F4 brne .L17 310 000c 80E0 ldi r24,lo8(_tb) 311 000e 90E0 ldi r25,hi8(_tb) 312 0010 0895 ret 313 .L17: 314 0012 80E0 ldi r24,0 315 0014 90E0 ldi r25,0 316 0016 0895 ret 317 .size gmtime, .-gmtime 318 .global _days 319 .data 320 .type _days, @object 321 .size _days, 26 322 _days: 323 0000 FFFF .word -1 324 0002 1E00 .word 30 325 0004 3A00 .word 58 326 0006 5900 .word 89 327 0008 7700 .word 119 328 000a 9600 .word 150 329 000c B400 .word 180 330 000e D300 .word 211 331 0010 F200 .word 242 332 0012 1001 .word 272 333 0014 2F01 .word 303 334 0016 4D01 .word 333 335 0018 6C01 .word 364 336 .global _lpdays 337 .type _lpdays, @object 338 .size _lpdays, 26 339 _lpdays: 340 001a FFFF .word -1 341 001c 1E00 .word 30 342 001e 3B00 .word 59 GAS LISTING /tmp/ccTI1OeV.s page 7 343 0020 5A00 .word 90 344 0022 7800 .word 120 345 0024 9700 .word 151 346 0026 B500 .word 181 347 0028 D400 .word 212 348 002a F300 .word 243 349 002c 1101 .word 273 350 002e 3001 .word 304 351 0030 4E01 .word 334 352 0032 6D01 .word 365 353 .comm _tb,18,1 354 .ident "GCC: (GNU) 5.3.0" 355 .global __do_copy_data 356 .global __do_clear_bss GAS LISTING /tmp/ccTI1OeV.s page 8 DEFINED SYMBOLS *ABS*:0000000000000000 gmtime.c /tmp/ccTI1OeV.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccTI1OeV.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccTI1OeV.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccTI1OeV.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccTI1OeV.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccTI1OeV.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccTI1OeV.s:11 .text.gmtime_r:0000000000000000 gmtime_r /tmp/ccTI1OeV.s:322 .data:0000000000000000 _days /tmp/ccTI1OeV.s:339 .data:000000000000001a _lpdays /tmp/ccTI1OeV.s:300 .text.gmtime:0000000000000000 gmtime *COM*:0000000000000012 _tb UNDEFINED SYMBOLS __udivmodsi4 __mulsi3 __mulshisi3 __divmodhi4 __divmodsi4 __mulhisi3 __do_copy_data __do_clear_bss