sntp.lst 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. GAS LISTING /tmp/cci4OJ2o.s page 1
  2. 1 .file "sntp.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.NutSNTPGetTime,"ax",@progbits
  10. 9 .global NutSNTPGetTime
  11. 10 .type NutSNTPGetTime, @function
  12. 11 NutSNTPGetTime:
  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 0020 CDB7 in r28,__SP_L__
  30. 29 0022 DEB7 in r29,__SP_H__
  31. 30 0024 2897 sbiw r28,8
  32. 31 0026 0FB6 in __tmp_reg__,__SREG__
  33. 32 0028 F894 cli
  34. 33 002a DEBF out __SP_H__,r29
  35. 34 002c 0FBE out __SREG__,__tmp_reg__
  36. 35 002e CDBF out __SP_L__,r28
  37. 36 /* prologue: function */
  38. 37 /* frame size = 8 */
  39. 38 /* stack size = 24 */
  40. 39 .L__stack_usage = 24
  41. 40 0030 3C01 movw r6,r24
  42. 41 0032 2B01 movw r4,r22
  43. 42 0034 80E0 ldi r24,0
  44. 43 0036 91E0 ldi r25,lo8(1)
  45. 44 0038 9E83 std Y+6,r25
  46. 45 003a 8D83 std Y+5,r24
  47. 46 003c 672B or r22,r23
  48. 47 003e 01F4 brne .L2
  49. 48 .L4:
  50. 49 0040 8FEF ldi r24,lo8(-1)
  51. 50 0042 9FEF ldi r25,lo8(-1)
  52. 51 0044 00C0 rjmp .L20
  53. 52 .L2:
  54. 53 0046 6114 cp r6,__zero_reg__
  55. 54 0048 7104 cpc r7,__zero_reg__
  56. 55 004a 01F0 breq .L4
  57. 56 004c 60E3 ldi r22,lo8(48)
  58. 57 004e 70E0 ldi r23,0
  59. GAS LISTING /tmp/cci4OJ2o.s page 2
  60. 58 0050 81E0 ldi r24,lo8(1)
  61. 59 0052 90E0 ldi r25,0
  62. 60 0054 0E94 0000 call calloc
  63. 61 0058 5C01 movw r10,r24
  64. 62 005a 892B or r24,r25
  65. 63 005c 01F0 breq .L4
  66. 64 005e 80E0 ldi r24,0
  67. 65 0060 90E0 ldi r25,0
  68. 66 0062 0E94 0000 call NutUdpCreateSocket
  69. 67 0066 4C01 movw r8,r24
  70. 68 0068 0097 sbiw r24,0
  71. 69 006a 01F4 brne .+2
  72. 70 006c 00C0 rjmp .L11
  73. 71 006e 22E0 ldi r18,lo8(2)
  74. 72 0070 30E0 ldi r19,0
  75. 73 0072 AE01 movw r20,r28
  76. 74 0074 4B5F subi r20,-5
  77. 75 0076 5F4F sbci r21,-1
  78. 76 0078 62E0 ldi r22,lo8(2)
  79. 77 007a 70E1 ldi r23,lo8(16)
  80. 78 007c 0E94 0000 call NutUdpSetSockOpt
  81. 79 0080 8BE1 ldi r24,lo8(27)
  82. 80 0082 F501 movw r30,r10
  83. 81 0084 8083 st Z,r24
  84. 82 0086 F301 movw r30,r6
  85. 83 0088 4081 ld r20,Z
  86. 84 008a 5181 ldd r21,Z+1
  87. 85 008c 6281 ldd r22,Z+2
  88. 86 008e 7381 ldd r23,Z+3
  89. 87 0090 90E3 ldi r25,lo8(48)
  90. 88 0092 E92E mov r14,r25
  91. 89 0094 F12C mov r15,__zero_reg__
  92. 90 0096 8501 movw r16,r10
  93. 91 0098 2BE7 ldi r18,lo8(123)
  94. 92 009a 30E0 ldi r19,0
  95. 93 009c C401 movw r24,r8
  96. 94 009e 0E94 0000 call NutUdpSendTo
  97. 95 00a2 892B or r24,r25
  98. 96 00a4 01F0 breq .+2
  99. 97 00a6 00C0 rjmp .L6
  100. 98 .L9:
  101. 99 00a8 1982 std Y+1,__zero_reg__
  102. 100 00aa 1A82 std Y+2,__zero_reg__
  103. 101 00ac 1B82 std Y+3,__zero_reg__
  104. 102 00ae 1C82 std Y+4,__zero_reg__
  105. 103 00b0 88E8 ldi r24,lo8(-120)
  106. 104 00b2 C82E mov r12,r24
  107. 105 00b4 83E1 ldi r24,lo8(19)
  108. 106 00b6 D82E mov r13,r24
  109. 107 00b8 E12C mov r14,__zero_reg__
  110. 108 00ba F12C mov r15,__zero_reg__
  111. 109 00bc 00E3 ldi r16,lo8(48)
  112. 110 00be 10E0 ldi r17,0
  113. 111 00c0 9501 movw r18,r10
  114. 112 00c2 AE01 movw r20,r28
  115. 113 00c4 495F subi r20,-7
  116. 114 00c6 5F4F sbci r21,-1
  117. GAS LISTING /tmp/cci4OJ2o.s page 3
  118. 115 00c8 BE01 movw r22,r28
  119. 116 00ca 6F5F subi r22,-1
  120. 117 00cc 7F4F sbci r23,-1
  121. 118 00ce C401 movw r24,r8
  122. 119 00d0 0E94 0000 call NutUdpReceiveFrom
  123. 120 00d4 1816 cp __zero_reg__,r24
  124. 121 00d6 1906 cpc __zero_reg__,r25
  125. 122 00d8 04F0 brlt .+2
  126. 123 00da 00C0 rjmp .L6
  127. 124 00dc 8F81 ldd r24,Y+7
  128. 125 00de 9885 ldd r25,Y+8
  129. 126 00e0 8B37 cpi r24,123
  130. 127 00e2 9105 cpc r25,__zero_reg__
  131. 128 00e4 01F4 brne .L7
  132. 129 00e6 F501 movw r30,r10
  133. 130 00e8 8081 ld r24,Z
  134. 131 00ea 807C andi r24,lo8(-64)
  135. 132 00ec 803C cpi r24,lo8(-64)
  136. 133 00ee 01F4 brne .L8
  137. 134 .L7:
  138. 135 00f0 F301 movw r30,r6
  139. 136 00f2 8081 ld r24,Z
  140. 137 00f4 9181 ldd r25,Z+1
  141. 138 00f6 A281 ldd r26,Z+2
  142. 139 00f8 B381 ldd r27,Z+3
  143. 140 00fa 8F3F cpi r24,-1
  144. 141 00fc 9F4F sbci r25,-1
  145. 142 00fe AF4F sbci r26,-1
  146. 143 0100 BF4F sbci r27,-1
  147. 144 0102 01F0 breq .L9
  148. 145 0104 00C0 rjmp .L6
  149. 146 .L8:
  150. 147 0106 F501 movw r30,r10
  151. 148 0108 80A5 ldd r24,Z+40
  152. 149 010a 91A5 ldd r25,Z+41
  153. 150 010c A2A5 ldd r26,Z+42
  154. 151 010e B3A5 ldd r27,Z+43
  155. 152 /* #APP */
  156. 153 ; 319 "../../nut/include/sys/types.h" 1
  157. 154 0110 082E mov __tmp_reg__, r24
  158. 155 0112 8B2F mov r24, r27
  159. 156 0114 B02D mov r27, __tmp_reg__
  160. 157 0116 092E mov __tmp_reg__, r25
  161. 158 0118 9A2F mov r25, r26
  162. 159 011a A02D mov r26, __tmp_reg__
  163. 160
  164. 161 ; 0 "" 2
  165. 162 /* #NOAPP */
  166. 163 011c 8058 subi r24,-128
  167. 164 011e 9E47 sbci r25,126
  168. 165 0120 AA4A sbci r26,-86
  169. 166 0122 B348 sbci r27,-125
  170. 167 0124 F201 movw r30,r4
  171. 168 0126 8083 st Z,r24
  172. 169 0128 9183 std Z+1,r25
  173. 170 012a A283 std Z+2,r26
  174. 171 012c B383 std Z+3,r27
  175. GAS LISTING /tmp/cci4OJ2o.s page 4
  176. 172 012e 8981 ldd r24,Y+1
  177. 173 0130 9A81 ldd r25,Y+2
  178. 174 0132 AB81 ldd r26,Y+3
  179. 175 0134 BC81 ldd r27,Y+4
  180. 176 0136 F301 movw r30,r6
  181. 177 0138 8083 st Z,r24
  182. 178 013a 9183 std Z+1,r25
  183. 179 013c A283 std Z+2,r26
  184. 180 013e B383 std Z+3,r27
  185. 181 0140 00E0 ldi r16,0
  186. 182 0142 10E0 ldi r17,0
  187. 183 0144 00C0 rjmp .L10
  188. 184 .L11:
  189. 185 0146 0FEF ldi r16,lo8(-1)
  190. 186 0148 1FEF ldi r17,lo8(-1)
  191. 187 .L5:
  192. 188 014a C501 movw r24,r10
  193. 189 014c 0E94 0000 call free
  194. 190 0150 C801 movw r24,r16
  195. 191 0152 00C0 rjmp .L20
  196. 192 .L6:
  197. 193 0154 0FEF ldi r16,lo8(-1)
  198. 194 0156 1FEF ldi r17,lo8(-1)
  199. 195 .L10:
  200. 196 0158 C401 movw r24,r8
  201. 197 015a 0E94 0000 call NutUdpDestroySocket
  202. 198 015e 00C0 rjmp .L5
  203. 199 .L20:
  204. 200 /* epilogue start */
  205. 201 0160 2896 adiw r28,8
  206. 202 0162 0FB6 in __tmp_reg__,__SREG__
  207. 203 0164 F894 cli
  208. 204 0166 DEBF out __SP_H__,r29
  209. 205 0168 0FBE out __SREG__,__tmp_reg__
  210. 206 016a CDBF out __SP_L__,r28
  211. 207 016c DF91 pop r29
  212. 208 016e CF91 pop r28
  213. 209 0170 1F91 pop r17
  214. 210 0172 0F91 pop r16
  215. 211 0174 FF90 pop r15
  216. 212 0176 EF90 pop r14
  217. 213 0178 DF90 pop r13
  218. 214 017a CF90 pop r12
  219. 215 017c BF90 pop r11
  220. 216 017e AF90 pop r10
  221. 217 0180 9F90 pop r9
  222. 218 0182 8F90 pop r8
  223. 219 0184 7F90 pop r7
  224. 220 0186 6F90 pop r6
  225. 221 0188 5F90 pop r5
  226. 222 018a 4F90 pop r4
  227. 223 018c 0895 ret
  228. 224 .size NutSNTPGetTime, .-NutSNTPGetTime
  229. 225 .section .text.SNTP_resync,"ax",@progbits
  230. 226 .global SNTP_resync
  231. 227 .type SNTP_resync, @function
  232. 228 SNTP_resync:
  233. GAS LISTING /tmp/cci4OJ2o.s page 5
  234. 229 0000 CF93 push r28
  235. 230 0002 DF93 push r29
  236. 231 0004 CDB7 in r28,__SP_L__
  237. 232 0006 DEB7 in r29,__SP_H__
  238. 233 0008 2897 sbiw r28,8
  239. 234 000a 0FB6 in __tmp_reg__,__SREG__
  240. 235 000c F894 cli
  241. 236 000e DEBF out __SP_H__,r29
  242. 237 0010 0FBE out __SREG__,__tmp_reg__
  243. 238 0012 CDBF out __SP_L__,r28
  244. 239 /* prologue: function */
  245. 240 /* frame size = 8 */
  246. 241 /* stack size = 10 */
  247. 242 .L__stack_usage = 10
  248. 243 0014 FC01 movw r30,r24
  249. 244 0016 C080 ld r12,Z
  250. 245 0018 D180 ldd r13,Z+1
  251. 246 001a E280 ldd r14,Z+2
  252. 247 001c F380 ldd r15,Z+3
  253. 248 001e 8480 ldd r8,Z+4
  254. 249 0020 9580 ldd r9,Z+5
  255. 250 0022 A680 ldd r10,Z+6
  256. 251 0024 B780 ldd r11,Z+7
  257. 252 0026 CD82 std Y+5,r12
  258. 253 0028 DE82 std Y+6,r13
  259. 254 002a EF82 std Y+7,r14
  260. 255 002c F886 std Y+8,r15
  261. 256 002e 0E94 0000 call free
  262. 257 0032 8FE3 ldi r24,lo8(63)
  263. 258 0034 0E94 0000 call NutThreadSetPriority
  264. 259 .L28:
  265. 260 0038 00E0 ldi r16,0
  266. 261 003a 10E0 ldi r17,0
  267. 262 .L23:
  268. 263 003c BE01 movw r22,r28
  269. 264 003e 6F5F subi r22,-1
  270. 265 0040 7F4F sbci r23,-1
  271. 266 0042 CE01 movw r24,r28
  272. 267 0044 0596 adiw r24,5
  273. 268 0046 0E94 0000 call NutSNTPGetTime
  274. 269 004a 892B or r24,r25
  275. 270 004c 01F0 breq .L24
  276. 271 004e 8D81 ldd r24,Y+5
  277. 272 0050 9E81 ldd r25,Y+6
  278. 273 0052 AF81 ldd r26,Y+7
  279. 274 0054 B885 ldd r27,Y+8
  280. 275 0056 C816 cp r12,r24
  281. 276 0058 D906 cpc r13,r25
  282. 277 005a EA06 cpc r14,r26
  283. 278 005c FB06 cpc r15,r27
  284. 279 005e 01F0 breq .L25
  285. 280 0060 FFEF ldi r31,-1
  286. 281 0062 CF16 cp r12,r31
  287. 282 0064 DF06 cpc r13,r31
  288. 283 0066 EF06 cpc r14,r31
  289. 284 0068 FF06 cpc r15,r31
  290. 285 006a 01F4 brne .L25
  291. GAS LISTING /tmp/cci4OJ2o.s page 6
  292. 286 006c CD82 std Y+5,r12
  293. 287 006e DE82 std Y+6,r13
  294. 288 0070 EF82 std Y+7,r14
  295. 289 0072 F886 std Y+8,r15
  296. 290 0074 00C0 rjmp .L23
  297. 291 .L25:
  298. 292 0076 0330 cpi r16,3
  299. 293 0078 1105 cpc r17,__zero_reg__
  300. 294 007a 04F0 brlt .L27
  301. 295 007c 60E3 ldi r22,lo8(48)
  302. 296 007e 75E7 ldi r23,lo8(117)
  303. 297 0080 80E0 ldi r24,0
  304. 298 0082 90E0 ldi r25,0
  305. 299 0084 00C0 rjmp .L29
  306. 300 .L27:
  307. 301 0086 0F5F subi r16,-1
  308. 302 0088 1F4F sbci r17,-1
  309. 303 008a 68E8 ldi r22,lo8(-120)
  310. 304 008c 73E1 ldi r23,lo8(19)
  311. 305 008e 80E0 ldi r24,0
  312. 306 0090 90E0 ldi r25,0
  313. 307 0092 0E94 0000 call NutSleep
  314. 308 0096 00C0 rjmp .L23
  315. 309 .L24:
  316. 310 0098 CE01 movw r24,r28
  317. 311 009a 0196 adiw r24,1
  318. 312 009c 0E94 0000 call stime
  319. 313 00a0 C501 movw r24,r10
  320. 314 00a2 B401 movw r22,r8
  321. 315 .L29:
  322. 316 00a4 0E94 0000 call NutSleep
  323. 317 00a8 00C0 rjmp .L28
  324. 318 .size SNTP_resync, .-SNTP_resync
  325. 319 .section .rodata.str1.1,"aMS",@progbits,1
  326. 320 .LC0:
  327. 321 0000 736E 7470 .string "sntpc"
  328. 321 6300
  329. 322 .section .text.NutSNTPStartThread,"ax",@progbits
  330. 323 .global NutSNTPStartThread
  331. 324 .type NutSNTPStartThread, @function
  332. 325 NutSNTPStartThread:
  333. 326 0000 CF92 push r12
  334. 327 0002 DF92 push r13
  335. 328 0004 EF92 push r14
  336. 329 0006 FF92 push r15
  337. 330 0008 0F93 push r16
  338. 331 000a 1F93 push r17
  339. 332 000c CF93 push r28
  340. 333 000e DF93 push r29
  341. 334 0010 00D0 rcall .
  342. 335 0012 1F92 push __zero_reg__
  343. 336 0014 CDB7 in r28,__SP_L__
  344. 337 0016 DEB7 in r29,__SP_H__
  345. 338 /* prologue: function */
  346. 339 /* frame size = 4 */
  347. 340 /* stack size = 12 */
  348. 341 .L__stack_usage = 12
  349. GAS LISTING /tmp/cci4OJ2o.s page 7
  350. 342 0018 6B01 movw r12,r22
  351. 343 001a 7C01 movw r14,r24
  352. 344 001c 88E0 ldi r24,lo8(8)
  353. 345 001e 90E0 ldi r25,0
  354. 346 0020 2983 std Y+1,r18
  355. 347 0022 3A83 std Y+2,r19
  356. 348 0024 4B83 std Y+3,r20
  357. 349 0026 5C83 std Y+4,r21
  358. 350 0028 0E94 0000 call malloc
  359. 351 002c 8C01 movw r16,r24
  360. 352 002e 2981 ldd r18,Y+1
  361. 353 0030 3A81 ldd r19,Y+2
  362. 354 0032 4B81 ldd r20,Y+3
  363. 355 0034 5C81 ldd r21,Y+4
  364. 356 0036 0097 sbiw r24,0
  365. 357 0038 01F0 breq .L32
  366. 358 003a FC01 movw r30,r24
  367. 359 003c C082 st Z,r12
  368. 360 003e D182 std Z+1,r13
  369. 361 0040 E282 std Z+2,r14
  370. 362 0042 F382 std Z+3,r15
  371. 363 0044 2483 std Z+4,r18
  372. 364 0046 3583 std Z+5,r19
  373. 365 0048 4683 std Z+6,r20
  374. 366 004a 5783 std Z+7,r21
  375. 367 004c 20E0 ldi r18,0
  376. 368 004e 31E0 ldi r19,lo8(1)
  377. 369 0050 AC01 movw r20,r24
  378. 370 0052 60E0 ldi r22,lo8(gs(SNTP_resync))
  379. 371 0054 70E0 ldi r23,hi8(gs(SNTP_resync))
  380. 372 0056 80E0 ldi r24,lo8(.LC0)
  381. 373 0058 90E0 ldi r25,hi8(.LC0)
  382. 374 005a 0E94 0000 call NutThreadCreate
  383. 375 005e 892B or r24,r25
  384. 376 0060 01F4 brne .L33
  385. 377 0062 C801 movw r24,r16
  386. 378 0064 0E94 0000 call free
  387. 379 .L32:
  388. 380 0068 8FEF ldi r24,lo8(-1)
  389. 381 006a 9FEF ldi r25,lo8(-1)
  390. 382 006c 00C0 rjmp .L31
  391. 383 .L33:
  392. 384 006e 80E0 ldi r24,0
  393. 385 0070 90E0 ldi r25,0
  394. 386 .L31:
  395. 387 /* epilogue start */
  396. 388 0072 0F90 pop __tmp_reg__
  397. 389 0074 0F90 pop __tmp_reg__
  398. 390 0076 0F90 pop __tmp_reg__
  399. 391 0078 0F90 pop __tmp_reg__
  400. 392 007a DF91 pop r29
  401. 393 007c CF91 pop r28
  402. 394 007e 1F91 pop r17
  403. 395 0080 0F91 pop r16
  404. 396 0082 FF90 pop r15
  405. 397 0084 EF90 pop r14
  406. 398 0086 DF90 pop r13
  407. GAS LISTING /tmp/cci4OJ2o.s page 8
  408. 399 0088 CF90 pop r12
  409. 400 008a 0895 ret
  410. 401 .size NutSNTPStartThread, .-NutSNTPStartThread
  411. 402 .ident "GCC: (GNU) 5.3.0"
  412. 403 .global __do_copy_data
  413. GAS LISTING /tmp/cci4OJ2o.s page 9
  414. DEFINED SYMBOLS
  415. *ABS*:0000000000000000 sntp.c
  416. /tmp/cci4OJ2o.s:2 *ABS*:000000000000003e __SP_H__
  417. /tmp/cci4OJ2o.s:3 *ABS*:000000000000003d __SP_L__
  418. /tmp/cci4OJ2o.s:4 *ABS*:000000000000003f __SREG__
  419. /tmp/cci4OJ2o.s:5 *ABS*:000000000000003b __RAMPZ__
  420. /tmp/cci4OJ2o.s:6 *ABS*:0000000000000000 __tmp_reg__
  421. /tmp/cci4OJ2o.s:7 *ABS*:0000000000000001 __zero_reg__
  422. /tmp/cci4OJ2o.s:11 .text.NutSNTPGetTime:0000000000000000 NutSNTPGetTime
  423. /tmp/cci4OJ2o.s:228 .text.SNTP_resync:0000000000000000 SNTP_resync
  424. /tmp/cci4OJ2o.s:325 .text.NutSNTPStartThread:0000000000000000 NutSNTPStartThread
  425. UNDEFINED SYMBOLS
  426. calloc
  427. NutUdpCreateSocket
  428. NutUdpSetSockOpt
  429. NutUdpSendTo
  430. NutUdpReceiveFrom
  431. free
  432. NutUdpDestroySocket
  433. NutThreadSetPriority
  434. NutSleep
  435. stime
  436. malloc
  437. NutThreadCreate
  438. __do_copy_data