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