| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- 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
|