| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453 |
- GAS LISTING /tmp/cc0hg0pY.s page 1
- 1 .file "localtime.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.localtime_r,"ax",@progbits
- 9 .global localtime_r
- 10 .type localtime_r, @function
- 11 localtime_r:
- 12 0000 8F92 push r8
- 13 0002 9F92 push r9
- 14 0004 AF92 push r10
- 15 0006 BF92 push r11
- 16 0008 CF92 push r12
- 17 000a DF92 push r13
- 18 000c EF92 push r14
- 19 000e FF92 push r15
- 20 0010 0F93 push r16
- 21 0012 1F93 push r17
- 22 0014 CF93 push r28
- 23 0016 DF93 push r29
- 24 0018 00D0 rcall .
- 25 001a 1F92 push __zero_reg__
- 26 001c CDB7 in r28,__SP_L__
- 27 001e DEB7 in r29,__SP_H__
- 28 /* prologue: function */
- 29 /* frame size = 4 */
- 30 /* stack size = 16 */
- 31 .L__stack_usage = 16
- 32 0020 8B01 movw r16,r22
- 33 0022 FC01 movw r30,r24
- 34 0024 4081 ld r20,Z
- 35 0026 5181 ldd r21,Z+1
- 36 0028 6281 ldd r22,Z+2
- 37 002a 7381 ldd r23,Z+3
- 38 002c 6A01 movw r12,r20
- 39 002e 7B01 movw r14,r22
- 40 0030 F1E8 ldi r31,-127
- 41 0032 CF1A sub r12,r31
- 42 0034 F4EF ldi r31,-12
- 43 0036 DF0A sbc r13,r31
- 44 0038 F3E0 ldi r31,3
- 45 003a EF0A sbc r14,r31
- 46 003c F108 sbc r15,__zero_reg__
- 47 003e 2EEF ldi r18,-2
- 48 0040 C216 cp r12,r18
- 49 0042 26E1 ldi r18,22
- 50 0044 D206 cpc r13,r18
- 51 0046 28EF ldi r18,-8
- 52 0048 E206 cpc r14,r18
- 53 004a 2FE7 ldi r18,127
- 54 004c F206 cpc r15,r18
- 55 004e 00F0 brlo .+2
- 56 0050 00C0 rjmp .L2
- 57 0052 8091 0000 lds r24,_timezone
- GAS LISTING /tmp/cc0hg0pY.s page 2
- 58 0056 9091 0000 lds r25,_timezone+1
- 59 005a A091 0000 lds r26,_timezone+2
- 60 005e B091 0000 lds r27,_timezone+3
- 61 0062 481B sub r20,r24
- 62 0064 590B sbc r21,r25
- 63 0066 6A0B sbc r22,r26
- 64 0068 7B0B sbc r23,r27
- 65 006a 4983 std Y+1,r20
- 66 006c 5A83 std Y+2,r21
- 67 006e 6B83 std Y+3,r22
- 68 0070 7C83 std Y+4,r23
- 69 0072 B801 movw r22,r16
- 70 0074 CE01 movw r24,r28
- 71 0076 0196 adiw r24,1
- 72 0078 0E94 0000 call gmtime_r
- 73 007c 8091 0000 lds r24,_daylight
- 74 0080 9091 0000 lds r25,_daylight+1
- 75 0084 892B or r24,r25
- 76 0086 01F4 brne .+2
- 77 0088 00C0 rjmp .L4
- 78 008a C801 movw r24,r16
- 79 008c 0E94 0000 call _isindst
- 80 0090 892B or r24,r25
- 81 0092 01F4 brne .+2
- 82 0094 00C0 rjmp .L4
- 83 0096 8981 ldd r24,Y+1
- 84 0098 9A81 ldd r25,Y+2
- 85 009a AB81 ldd r26,Y+3
- 86 009c BC81 ldd r27,Y+4
- 87 009e 4091 0000 lds r20,_dstbias
- 88 00a2 5091 0000 lds r21,_dstbias+1
- 89 00a6 6091 0000 lds r22,_dstbias+2
- 90 00aa 7091 0000 lds r23,_dstbias+3
- 91 00ae 841B sub r24,r20
- 92 00b0 950B sbc r25,r21
- 93 00b2 A60B sbc r26,r22
- 94 00b4 B70B sbc r27,r23
- 95 00b6 8983 std Y+1,r24
- 96 00b8 9A83 std Y+2,r25
- 97 00ba AB83 std Y+3,r26
- 98 00bc BC83 std Y+4,r27
- 99 00be B801 movw r22,r16
- 100 00c0 CE01 movw r24,r28
- 101 00c2 0196 adiw r24,1
- 102 00c4 0E94 0000 call gmtime_r
- 103 00c8 81E0 ldi r24,lo8(1)
- 104 00ca 90E0 ldi r25,0
- 105 00cc F801 movw r30,r16
- 106 00ce 918B std Z+17,r25
- 107 00d0 808B std Z+16,r24
- 108 00d2 00C0 rjmp .L4
- 109 .L2:
- 110 00d4 B801 movw r22,r16
- 111 00d6 0E94 0000 call gmtime_r
- 112 00da C801 movw r24,r16
- 113 00dc 0E94 0000 call _isindst
- 114 00e0 4091 0000 lds r20,_timezone
- GAS LISTING /tmp/cc0hg0pY.s page 3
- 115 00e4 5091 0000 lds r21,_timezone+1
- 116 00e8 6091 0000 lds r22,_timezone+2
- 117 00ec 7091 0000 lds r23,_timezone+3
- 118 00f0 F801 movw r30,r16
- 119 00f2 C080 ld r12,Z
- 120 00f4 D180 ldd r13,Z+1
- 121 00f6 0D2C mov __tmp_reg__,r13
- 122 00f8 000C lsl r0
- 123 00fa EE08 sbc r14,r14
- 124 00fc FF08 sbc r15,r15
- 125 00fe 892B or r24,r25
- 126 0100 01F0 breq .L6
- 127 0102 8091 0000 lds r24,_dstbias
- 128 0106 9091 0000 lds r25,_dstbias+1
- 129 010a A091 0000 lds r26,_dstbias+2
- 130 010e B091 0000 lds r27,_dstbias+3
- 131 0112 840F add r24,r20
- 132 0114 951F adc r25,r21
- 133 0116 A61F adc r26,r22
- 134 0118 B71F adc r27,r23
- 135 011a C81A sub r12,r24
- 136 011c D90A sbc r13,r25
- 137 011e EA0A sbc r14,r26
- 138 0120 FB0A sbc r15,r27
- 139 0122 00C0 rjmp .L7
- 140 .L6:
- 141 0124 C41A sub r12,r20
- 142 0126 D50A sbc r13,r21
- 143 0128 E60A sbc r14,r22
- 144 012a F70A sbc r15,r23
- 145 .L7:
- 146 012c C701 movw r24,r14
- 147 012e B601 movw r22,r12
- 148 0130 2CE3 ldi r18,lo8(60)
- 149 0132 30E0 ldi r19,0
- 150 0134 40E0 ldi r20,0
- 151 0136 50E0 ldi r21,0
- 152 0138 0E94 0000 call __divmodsi4
- 153 013c 97FD sbrc r25,7
- 154 013e 00C0 rjmp .L8
- 155 0140 F801 movw r30,r16
- 156 0142 7183 std Z+1,r23
- 157 0144 6083 st Z,r22
- 158 0146 00C0 rjmp .L9
- 159 .L8:
- 160 0148 645C subi r22,-60
- 161 014a 7F4F sbci r23,-1
- 162 014c F801 movw r30,r16
- 163 014e 7183 std Z+1,r23
- 164 0150 6083 st Z,r22
- 165 0152 FCE3 ldi r31,60
- 166 0154 CF1A sub r12,r31
- 167 0156 D108 sbc r13,__zero_reg__
- 168 0158 E108 sbc r14,__zero_reg__
- 169 015a F108 sbc r15,__zero_reg__
- 170 .L9:
- 171 015c 8CE3 ldi r24,lo8(60)
- GAS LISTING /tmp/cc0hg0pY.s page 4
- 172 015e 882E mov r8,r24
- 173 0160 912C mov r9,__zero_reg__
- 174 0162 A12C mov r10,__zero_reg__
- 175 0164 B12C mov r11,__zero_reg__
- 176 0166 C701 movw r24,r14
- 177 0168 B601 movw r22,r12
- 178 016a A501 movw r20,r10
- 179 016c 9401 movw r18,r8
- 180 016e 0E94 0000 call __divmodsi4
- 181 0172 F801 movw r30,r16
- 182 0174 C280 ldd r12,Z+2
- 183 0176 D380 ldd r13,Z+3
- 184 0178 0D2C mov __tmp_reg__,r13
- 185 017a 000C lsl r0
- 186 017c EE08 sbc r14,r14
- 187 017e FF08 sbc r15,r15
- 188 0180 C20E add r12,r18
- 189 0182 D31E adc r13,r19
- 190 0184 E41E adc r14,r20
- 191 0186 F51E adc r15,r21
- 192 0188 C701 movw r24,r14
- 193 018a B601 movw r22,r12
- 194 018c A501 movw r20,r10
- 195 018e 9401 movw r18,r8
- 196 0190 0E94 0000 call __divmodsi4
- 197 0194 97FD sbrc r25,7
- 198 0196 00C0 rjmp .L10
- 199 0198 F801 movw r30,r16
- 200 019a 7383 std Z+3,r23
- 201 019c 6283 std Z+2,r22
- 202 019e 00C0 rjmp .L11
- 203 .L10:
- 204 01a0 645C subi r22,-60
- 205 01a2 7F4F sbci r23,-1
- 206 01a4 F801 movw r30,r16
- 207 01a6 7383 std Z+3,r23
- 208 01a8 6283 std Z+2,r22
- 209 01aa FCE3 ldi r31,60
- 210 01ac CF1A sub r12,r31
- 211 01ae D108 sbc r13,__zero_reg__
- 212 01b0 E108 sbc r14,__zero_reg__
- 213 01b2 F108 sbc r15,__zero_reg__
- 214 .L11:
- 215 01b4 C701 movw r24,r14
- 216 01b6 B601 movw r22,r12
- 217 01b8 2CE3 ldi r18,lo8(60)
- 218 01ba 30E0 ldi r19,0
- 219 01bc 40E0 ldi r20,0
- 220 01be 50E0 ldi r21,0
- 221 01c0 0E94 0000 call __divmodsi4
- 222 01c4 F801 movw r30,r16
- 223 01c6 C480 ldd r12,Z+4
- 224 01c8 D580 ldd r13,Z+5
- 225 01ca 0D2C mov __tmp_reg__,r13
- 226 01cc 000C lsl r0
- 227 01ce EE08 sbc r14,r14
- 228 01d0 FF08 sbc r15,r15
- GAS LISTING /tmp/cc0hg0pY.s page 5
- 229 01d2 C20E add r12,r18
- 230 01d4 D31E adc r13,r19
- 231 01d6 E41E adc r14,r20
- 232 01d8 F51E adc r15,r21
- 233 01da C701 movw r24,r14
- 234 01dc B601 movw r22,r12
- 235 01de 28E1 ldi r18,lo8(24)
- 236 01e0 30E0 ldi r19,0
- 237 01e2 40E0 ldi r20,0
- 238 01e4 50E0 ldi r21,0
- 239 01e6 0E94 0000 call __divmodsi4
- 240 01ea 97FD sbrc r25,7
- 241 01ec 00C0 rjmp .L12
- 242 01ee F801 movw r30,r16
- 243 01f0 7583 std Z+5,r23
- 244 01f2 6483 std Z+4,r22
- 245 01f4 00C0 rjmp .L13
- 246 .L12:
- 247 01f6 685E subi r22,-24
- 248 01f8 7F4F sbci r23,-1
- 249 01fa F801 movw r30,r16
- 250 01fc 7583 std Z+5,r23
- 251 01fe 6483 std Z+4,r22
- 252 0200 F8E1 ldi r31,24
- 253 0202 CF1A sub r12,r31
- 254 0204 D108 sbc r13,__zero_reg__
- 255 0206 E108 sbc r14,__zero_reg__
- 256 0208 F108 sbc r15,__zero_reg__
- 257 .L13:
- 258 020a C701 movw r24,r14
- 259 020c B601 movw r22,r12
- 260 020e 28E1 ldi r18,lo8(24)
- 261 0210 30E0 ldi r19,0
- 262 0212 40E0 ldi r20,0
- 263 0214 50E0 ldi r21,0
- 264 0216 0E94 0000 call __divmodsi4
- 265 021a 6901 movw r12,r18
- 266 021c 7A01 movw r14,r20
- 267 021e 1216 cp __zero_reg__,r18
- 268 0220 1306 cpc __zero_reg__,r19
- 269 0222 1406 cpc __zero_reg__,r20
- 270 0224 1506 cpc __zero_reg__,r21
- 271 0226 04F4 brge .L14
- 272 0228 F801 movw r30,r16
- 273 022a 6485 ldd r22,Z+12
- 274 022c 7585 ldd r23,Z+13
- 275 022e CB01 movw r24,r22
- 276 0230 770F lsl r23
- 277 0232 AA0B sbc r26,r26
- 278 0234 BB0B sbc r27,r27
- 279 0236 BC01 movw r22,r24
- 280 0238 CD01 movw r24,r26
- 281 023a 620F add r22,r18
- 282 023c 731F adc r23,r19
- 283 023e 841F adc r24,r20
- 284 0240 951F adc r25,r21
- 285 0242 27E0 ldi r18,lo8(7)
- GAS LISTING /tmp/cc0hg0pY.s page 6
- 286 0244 30E0 ldi r19,0
- 287 0246 40E0 ldi r20,0
- 288 0248 50E0 ldi r21,0
- 289 024a 0E94 0000 call __divmodsi4
- 290 024e F801 movw r30,r16
- 291 0250 7587 std Z+13,r23
- 292 0252 6487 std Z+12,r22
- 293 0254 8681 ldd r24,Z+6
- 294 0256 9781 ldd r25,Z+7
- 295 0258 8C0D add r24,r12
- 296 025a 9D1D adc r25,r13
- 297 025c 9783 std Z+7,r25
- 298 025e 8683 std Z+6,r24
- 299 0260 00C0 rjmp .L22
- 300 .L14:
- 301 0262 2115 cp r18,__zero_reg__
- 302 0264 3105 cpc r19,__zero_reg__
- 303 0266 4105 cpc r20,__zero_reg__
- 304 0268 5105 cpc r21,__zero_reg__
- 305 026a 01F0 breq .L4
- 306 026c F801 movw r30,r16
- 307 026e 6485 ldd r22,Z+12
- 308 0270 7585 ldd r23,Z+13
- 309 0272 695F subi r22,-7
- 310 0274 7F4F sbci r23,-1
- 311 0276 CB01 movw r24,r22
- 312 0278 770F lsl r23
- 313 027a AA0B sbc r26,r26
- 314 027c BB0B sbc r27,r27
- 315 027e BC01 movw r22,r24
- 316 0280 CD01 movw r24,r26
- 317 0282 620F add r22,r18
- 318 0284 731F adc r23,r19
- 319 0286 841F adc r24,r20
- 320 0288 951F adc r25,r21
- 321 028a 27E0 ldi r18,lo8(7)
- 322 028c 30E0 ldi r19,0
- 323 028e 40E0 ldi r20,0
- 324 0290 50E0 ldi r21,0
- 325 0292 0E94 0000 call __divmodsi4
- 326 0296 F801 movw r30,r16
- 327 0298 7587 std Z+13,r23
- 328 029a 6487 std Z+12,r22
- 329 029c 8681 ldd r24,Z+6
- 330 029e 9781 ldd r25,Z+7
- 331 02a0 8C0D add r24,r12
- 332 02a2 9D1D adc r25,r13
- 333 02a4 9783 std Z+7,r25
- 334 02a6 8683 std Z+6,r24
- 335 02a8 1816 cp __zero_reg__,r24
- 336 02aa 1906 cpc __zero_reg__,r25
- 337 02ac 04F0 brlt .L15
- 338 02ae 4F96 adiw r24,31
- 339 02b0 9783 std Z+7,r25
- 340 02b2 8683 std Z+6,r24
- 341 02b4 8CE6 ldi r24,lo8(108)
- 342 02b6 91E0 ldi r25,lo8(1)
- GAS LISTING /tmp/cc0hg0pY.s page 7
- 343 02b8 9787 std Z+15,r25
- 344 02ba 8687 std Z+14,r24
- 345 02bc 8BE0 ldi r24,lo8(11)
- 346 02be 90E0 ldi r25,0
- 347 02c0 9187 std Z+9,r25
- 348 02c2 8087 std Z+8,r24
- 349 02c4 8285 ldd r24,Z+10
- 350 02c6 9385 ldd r25,Z+11
- 351 02c8 0197 sbiw r24,1
- 352 02ca 9387 std Z+11,r25
- 353 02cc 8287 std Z+10,r24
- 354 02ce 00C0 rjmp .L4
- 355 .L15:
- 356 02d0 F801 movw r30,r16
- 357 .L22:
- 358 02d2 8685 ldd r24,Z+14
- 359 02d4 9785 ldd r25,Z+15
- 360 02d6 C80E add r12,r24
- 361 02d8 D91E adc r13,r25
- 362 02da D786 std Z+15,r13
- 363 02dc C686 std Z+14,r12
- 364 .L4:
- 365 02de 80E0 ldi r24,0
- 366 02e0 90E0 ldi r25,0
- 367 /* epilogue start */
- 368 02e2 0F90 pop __tmp_reg__
- 369 02e4 0F90 pop __tmp_reg__
- 370 02e6 0F90 pop __tmp_reg__
- 371 02e8 0F90 pop __tmp_reg__
- 372 02ea DF91 pop r29
- 373 02ec CF91 pop r28
- 374 02ee 1F91 pop r17
- 375 02f0 0F91 pop r16
- 376 02f2 FF90 pop r15
- 377 02f4 EF90 pop r14
- 378 02f6 DF90 pop r13
- 379 02f8 CF90 pop r12
- 380 02fa BF90 pop r11
- 381 02fc AF90 pop r10
- 382 02fe 9F90 pop r9
- 383 0300 8F90 pop r8
- 384 0302 0895 ret
- 385 .size localtime_r, .-localtime_r
- 386 .section .text.localtime,"ax",@progbits
- 387 .global localtime
- 388 .type localtime, @function
- 389 localtime:
- 390 /* prologue: function */
- 391 /* frame size = 0 */
- 392 /* stack size = 0 */
- 393 .L__stack_usage = 0
- 394 0000 60E0 ldi r22,lo8(_tb)
- 395 0002 70E0 ldi r23,hi8(_tb)
- 396 0004 0E94 0000 call localtime_r
- 397 0008 892B or r24,r25
- 398 000a 01F4 brne .L26
- 399 000c 80E0 ldi r24,lo8(_tb)
- GAS LISTING /tmp/cc0hg0pY.s page 8
- 400 000e 90E0 ldi r25,hi8(_tb)
- 401 0010 0895 ret
- 402 .L26:
- 403 0012 80E0 ldi r24,0
- 404 0014 90E0 ldi r25,0
- 405 0016 0895 ret
- 406 .size localtime, .-localtime
- 407 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cc0hg0pY.s page 9
- DEFINED SYMBOLS
- *ABS*:0000000000000000 localtime.c
- /tmp/cc0hg0pY.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc0hg0pY.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc0hg0pY.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc0hg0pY.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc0hg0pY.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc0hg0pY.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc0hg0pY.s:11 .text.localtime_r:0000000000000000 localtime_r
- /tmp/cc0hg0pY.s:389 .text.localtime:0000000000000000 localtime
- UNDEFINED SYMBOLS
- _timezone
- gmtime_r
- _daylight
- _isindst
- _dstbias
- __divmodsi4
- _tb
|