📄 ntp_client.lst
字号:
217 0088 622F ldi r19,hi8(24)
218 008a 732F ldi r20,hlo8(24)
219 008c 842F ldi r21,hhi8(24)
220 008e 952F call __udivmodsi4
221 0090 28E1 std Y+3,r22
223 0094 40E0 .LM10:
224 0096 50E0 mov r22,r17
225 0098 0E94 0000 mov r23,r16
226 009c 6B83 mov r24,r15
211:net/ntp_client.c **** , unsigned char *time){
227
228 ldi r18,lo8(24)
229 009e 612F ldi r19,hi8(24)
230 00a0 702F ldi r20,hlo8(24)
231 00a2 8F2D ldi r21,hhi8(24)
232 00a4 9E2D call __udivmodsi4
233 00a6 28E1 movw r24,r18
234 00a8 30E0 movw r26,r20
235 00aa 40E0 movw r18,r24
236 00ac 50E0 movw r20,r26
237 00ae 0E94 0000 ldi r30,lo8(0)
238 00b2 C901 ldi r31,lo8(4)
239 00b4 DA01 .L9:
241 00b8 AD01 .LM11:
242 00ba E0E0 mov r24,r30
243 00bc F4E0 ldi r25,lo8(0)
244 andi r24,lo8(3)
212:net/ntp_client.c **** lient_timestamp_to_time(unsigned long timestamp, unsigned char *time){
213:net/ntp_client.c **** unsigned char tmp;
214:net/ntp_client.c **** unsigned char tmp_year;
215:net/ntp_client.c **** unsigned int tmp_day;
216:net/ntp_client.c **** unsigned char leap400;
217:net/ntp_client.c ****
218:net/ntp_client.c **** //calculate seconds:
219:net/ntp_client.c **** time[NTP_TIME_SEC] = timestamp % 60;
220:net/ntp_client.c **** timestamp = timestamp / 60;
221:net/ntp_client.c ****
222:net/ntp_client.c **** //calculate minutes:
245 or r24,r25
246 brne .L4
248 00c0 90E0 .LM12:
249 00c2 8370 tst r30
250 00c4 9070 breq .L5
251 00c6 892B cpi r30,lo8(100)
252 00c8 01F4 breq .L5
223:net/ntp_client.c **** mp % 60;
224:net/ntp_client.c **** timestamp = timestamp / 60;
225:net/ntp_client.c ****
226:net/ntp_client.c **** //calculate minutes:
253 ,lo8(-56)
254 brne .L6
255 00ca EE23 .L5:
257 00ce E436 .LM13:
258 00d0 01F0 subi r31,lo8(-(-1))
259 00d2 E83C breq .L6
260 00d4 01F4 .L4:
261 ldi r22,lo8(365)
227:net/ntp_client.c **** mp % 60;
262 hi8(365)
263 rjmp .L7
264 00d6 F150 .L6:
265 00d8 01F0 ldi r22,lo8(366)
266 ldi r23,hi8(366)
267 00da 6DE6 .L7:
269 00de 00C0 .LM14:
270 movw r24,r22
271 00e0 6EE6 ldi r26,lo8(0)
272 00e2 71E0 ldi r27,hi8(0)
273 cp r18,r24
228:net/ntp_client.c **** 0;
229:net/ntp_client.c ****
230:net/ntp_client.c **** //calculate seconds:
231:net/ntp_client.c **** time[NTP_TIME_SEC] = timestamp % 60;
232:net/ntp_client.c **** timestamp = timestamp / 60;
274
275 cpc r20,r26
276 00e4 CB01 cpc r21,r27
277 00e6 A0E0 brlo .L8
279 00ea 2817 .LM15:
280 00ec 3907 sub r18,r24
281 00ee 4A07 sbc r19,r25
282 00f0 5B07 sbc r20,r26
283 00f2 00F0 sbc r21,r27
233:net/ntp_client.c **** e[NTP_TIME_SEC] = timestamp % 60;
234:net/ntp_client.c **** timestamp = timestamp / 60;
235:net/ntp_client.c ****
236:net/ntp_client.c **** //calculate minutes:
284 8,0,239,.LM16-.LFBB2
285 .LM16:
286 00f4 281B subi r30,lo8(-(1))
287 00f6 390B rjmp .L9
288 00f8 4A0B .L8:
237:net/ntp_client.c **** mp % 60;
238:net/ntp_client.c **** timestamp = timestamp / 60;
239:net/ntp_client.c ****
290
291 st Y,r30
293 00fe 00C0 .LM18:
294 subi r22,lo8(365)
240:net/ntp_client.c **** NTP_TIME_SEC] = timestamp % 60;
241:net/ntp_client.c **** timestamp = timestamp / 60;
242:net/ntp_client.c ****
243:net/ntp_client.c **** //calculate minutes:
295 i r23,hi8(365)
296 brne .L10
297 0100 E883 cpi r18,lo8(59)
244:net/ntp_client.c **** mp % 60;
245:net/ntp_client.c **** timestamp = timestamp / 60;
246:net/ntp_client.c ****
247:net/ntp_client.c **** //calculate minutes:
298 c r19,__zero_reg__
299 cpc r20,__zero_reg__
300 0102 6D56 cpc r21,__zero_reg__
301 0104 7140 brlo .L10
303 0108 2B33 .LM19:
304 010a 3105 subi r18,lo8(-(1))
305 010c 4105 sbci r19,hi8(-(1))
306 010e 5105 sbci r20,hlo8(-(1))
307 0110 00F0 sbci r21,hhi8(-(1))
248:net/ntp_client.c **** mp % 60;
308 r17,lo8(1)
309 ldi r22,lo8(NTP_CLIENT_MONTH_TO_DAYS)
310 0112 2F5F ldi r23,hi8(NTP_CLIENT_MONTH_TO_DAYS)
311 0114 3F4F .L12:
312 0116 4F4F movw r30,r22
313 0118 5F4F .LBB2:
315 011a 11E0 .LM20:
316 011c 60E0 subi r22,lo8(-(1))
317 011e 70E0 sbci r23,hi8(-(1))
318 /* #APP */
319 0120 FB01 ; 254 "net/ntp_client.c" 1
320 lpm r30, Z
249:net/ntp_client.c **** 0;
250:net/ntp_client.c ****
251:net/ntp_client.c **** //calculate seconds:
252:net/ntp_client.c **** time[NTP_TIME_SEC] = timestamp % 60;
253:net/ntp_client.c **** timestamp = timestamp / 60;
254:net/ntp_client.c ****
321 /* #NOAPP */
322 .LBE2:
323 0122 6F5F sub r18,r30
324 0124 7F4F sbc r19,__zero_reg__
325 sbc r20,__zero_reg__
326 sbc r21,__zero_reg__
327 0126 E491 .LBB3:
329 .LM21:
330 movw r30,r22
331 /* #APP */
332 0128 2E1B ; 255 "net/ntp_client.c" 1
333 012a 3109 lpm r24, Z
334 012c 4109
335 012e 5109 ; 0 "" 2
336 /* #NOAPP */
255:net/ntp_client.c **** NTP_TIME_SEC] = timestamp % 60;
337 lo8(0)
338 ldi r26,lo8(0)
339 0130 FB01 ldi r27,hi8(0)
340 cp r18,r24
341 cpc r19,r25
342 0132 8491 cpc r20,r26
343 cpc r21,r27
344 brlo .L11
346 .LM22:
347 0134 90E0 subi r17,lo8(-(1))
348 0136 A0E0 cpi r17,lo8(12)
349 0138 B0E0 brne .L12
350 013a 2817 .L11:
352 013e 4A07 .LM23:
353 0140 5B07 std Y+2,r18
355 .LM24:
356 subi r17,lo8(-(1))
357 0144 1F5F std Y+1,r17
358 0146 1C30 /* epilogue start */
360 .LM25:
256:net/ntp_client.c **** 0;
257:net/ntp_client.c ****
258:net/ntp_client.c **** //calculate seconds:
259:net/ntp_client.c **** time[NTP_TIME_SEC] = timestamp % 60;
260:net/ntp_client.c **** timestamp = timestamp / 60;
361 17
362 pop r16
363 014a 2A83 pop r15
261:net/ntp_client.c **** e[NTP_TIME_SEC] = timestamp % 60;
262:net/ntp_client.c **** timestamp = timestamp / 60;
263:net/ntp_client.c ****
364 p r14
365 ret
264:net/ntp_client.c **** NTP_TIME_SEC] = timestamp % 60;
265:net/ntp_client.c **** timestamp = timestamp / 60;
266:net/ntp_client.c ****
369 bs "tmp_day:r(0,4)",64,0,0,22
381 .Lscope2:
385 .global ntp_client_decode_packet
387 ntp_client_decode_packet:
389 .LM26:
390 .LFBB3:
391 push r10
392 push r11
393 push r12
394 push r13
395 push r14
396 push r15
397 push r16
398 push r17
399 push r29
400 push r28
401 rcall .
402 rcall .
403 015e AF92 rcall .
404 0160 BF92 in r28,__SP_L__
405 0162 CF92 in r29,__SP_H__
406 0164 DF92 /* prologue: function */
407 0166 EF92 /* frame size = 6 */
408 0168 FF92 movw r30,r24
410 016c 1F93 .LM27:
411 016e DF93 ldd r24,Z+42
412 0170 CF93 andi r24,lo8(63)
413 0172 00D0 cpi r24,lo8(36)
414 0174 00D0 breq .+2
415 0176 00D0 rjmp .L18
417 017a DEB7 .LM28:
418 movw r16,r30
419 subi r16,lo8(-(82))
420 017c FC01 sbci r17,hi8(-(82))
421 movw r26,r16
422 ld r13,X
424 0180 8F73 .LM29:
425 0182 8432 subi r30,lo8(-(83))
426 0184 01F0 sbci r31,hi8(-(83))
427 0186 00C0 ld r12,Z+
429 .LM30:
430 0188 8F01 ld r10,Z+
432 018c 1F4F .LM31:
433 018e D801 ld r11,Z
435 .LM32:
436 ldi r24,lo8(__c.2015)
437 0192 ED5A ldi r25,hi8(__c.2015)
438 0194 FF4F call softuart_puts_progmem2
439 0196 C190 movw r14,r16
440 ldi r16,lo8(0)
441 ldi r17,hi8(0)
442 0198 A190 .L17:
443 .LBB4:
445 019a B080 .LM33:
446 movw r30,r14
447 ld r24,Z+
448 019c 80E0 movw r14,r30
449 019e 90E0 call softuart_put_uint8
451 01a4 7801 .LM34:
452 01a6 00E0 ldi r24,lo8(32)
453 01a8 10E0 call softuart_putc
455 .LM35:
456 subi r16,lo8(-(1))
457 sbci r17,hi8(-(1))
458 01aa F701 cpi r16,4
459 01ac 8191 cpc r17,__zero_reg__
460 01ae 7F01 brne .L17
461 01b0 0E94 0000 .LBE4:
463 .LM36:
464 01b4 80E2 call softuart_putnewline
466 .LM37:
467 mov r23,r13
468 01ba 0F5F ldi r22,lo8(0)
469 01bc 1F4F clr r24
470 01be 0430 sbrc r23,7
471 01c0 1105 com r24
472 01c2 01F4 mov r25,r24
473 add r22,r12
474 adc r23,__zero_reg__
475 adc r24,__zero_reg__
476 01c4 0E94 0000 adc r25,__zero_reg__
478 .LM38:
479 01c8 7D2D mov r25,r24
480 01ca 60E0 mov r24,r23
481 01cc 8827 mov r23,r22
482 01ce 77FD clr r22
483 01d0 8095 add r22,r10
484 01d2 982F adc r23,__zero_reg__
485 01d4 6C0D adc r24,__zero_reg__
486 01d6 711D adc r25,__zero_reg__
487 01d8 811D mov r25,r24
488 01da 911D mov r24,r23
489 mov r23,r22
490 clr r22
492 01de 872F .LM39:
493 01e0 762F add r22,r11
494 01e2 6627 adc r23,__zero_reg__
495 01e4 6A0D adc r24,__zero_reg__
496 01e6 711D adc r25,__zero_reg__
497 01e8 811D movw r20,r28
498 01ea 911D subi r20,lo8(-(1))
499 01ec 982F sbci r21,hi8(-(1))
500 01ee 872F call ntp_client_timestamp_to_time
502 01f2 6627 .LM40:
503 ldi r24,lo8(__c.2022)
504 ldi r25,hi8(__c.2022)
505 01f4 6B0D call softuart_puts_progmem2
507 01f8 811D .LM41:
508 01fa 911D ldd r24,Y+3
509 01fc AE01 call softuart_put_uint8
511 0200 5F4F .LM42:
512 0202 0E94 0000 ldi r24,lo8(46)
513 call softuart_putc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -