gmtime.lst 13 KB

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