📄 ds1302.lst
字号:
270 00a6 F894 cli
271 00a8 DEBF out __SP_H__,r29
272 00aa 0FBE out __SREG__,__tmp_reg__
273 00ac CDBF out __SP_L__,r28
274 /* prologue end (size=10) */
275 .LM43:
276 00ae 60E0 ldi r22,lo8(0)
277 00b0 8EE8 ldi r24,lo8(-114)
278 00b2 0E94 0000 call Single_SPI
279 .LM44:
280 00b6 9E01 movw r18,r28
281 00b8 2F5F subi r18,lo8(-(1))
282 00ba 3F4F sbci r19,hi8(-(1))
283 00bc 40E0 ldi r20,lo8(INITDATE)
284 00be 50E0 ldi r21,hi8(INITDATE)
285 00c0 68E0 ldi r22,lo8(8)
286 00c2 8EEB ldi r24,lo8(-66)
287 00c4 0E94 0000 call Burst_SPI
288 .LM45:
289 00c8 60E8 ldi r22,lo8(-128)
290 00ca 8EE8 ldi r24,lo8(-114)
291 00cc 0E94 0000 call Single_SPI
292 /* epilogue: frame size=8 */
293 00d0 2896 adiw r28,8
294 00d2 0FB6 in __tmp_reg__,__SREG__
295 00d4 F894 cli
296 00d6 DEBF out __SP_H__,r29
297 00d8 0FBE out __SREG__,__tmp_reg__
298 00da CDBF out __SP_L__,r28
299 00dc DF91 pop r29
300 00de CF91 pop r28
301 00e0 0895 ret
302 /* epilogue end (size=9) */
303 /* function revision_time size 36 (17) */
304 .LFE24:
306 .global BCDtoASCII
308 BCDtoASCII:
309 .LFB25:
310 .LM46:
311 /* prologue: frame size=0 */
312 /* prologue end (size=0) */
313 00e2 FB01 movw r30,r22
314 .LM47:
315 00e4 982F mov r25,r24
316 00e6 9F70 andi r25,lo8(15)
317 00e8 8295 swap r24
318 00ea 8F70 andi r24,0x0f
319 .LM48:
320 00ec 805D subi r24,lo8(-(48))
321 00ee 8193 st Z+,r24
322 .LM49:
323 00f0 905D subi r25,lo8(-(48))
324 00f2 9083 st Z,r25
325 /* epilogue: frame size=0 */
326 00f4 0895 ret
327 /* epilogue end (size=1) */
328 /* function BCDtoASCII size 10 (9) */
329 .LFE25:
331 .global read_date
333 read_date:
334 .LFB26:
335 .LM50:
336 /* prologue: frame size=0 */
337 /* prologue end (size=0) */
338 .LM51:
339 00f6 20E0 ldi r18,lo8(CURDATE)
340 00f8 30E0 ldi r19,hi8(CURDATE)
341 00fa 40E0 ldi r20,lo8(0)
342 00fc 50E0 ldi r21,hi8(0)
343 00fe 67E0 ldi r22,lo8(7)
344 0100 8FEB ldi r24,lo8(-65)
345 0102 0E94 0000 call Burst_SPI
346 .LM52:
347 0106 60E0 ldi r22,lo8(sCURDATE+2)
348 0108 70E0 ldi r23,hi8(sCURDATE+2)
349 010a 8091 0000 lds r24,CURDATE+6
350 010e 0E94 0000 call BCDtoASCII
351 .LM53:
352 0112 60E0 ldi r22,lo8(sCURDATE+6)
353 0114 70E0 ldi r23,hi8(sCURDATE+6)
354 0116 8091 0000 lds r24,CURDATE+4
355 011a 0E94 0000 call BCDtoASCII
356 .LM54:
357 011e 60E0 ldi r22,lo8(sCURDATE+10)
358 0120 70E0 ldi r23,hi8(sCURDATE+10)
359 0122 8091 0000 lds r24,CURDATE+3
360 0126 0E94 0000 call BCDtoASCII
361 .LM55:
362 012a 60E0 ldi r22,lo8(sCURDATE+14)
363 012c 70E0 ldi r23,hi8(sCURDATE+14)
364 012e 8091 0000 lds r24,CURDATE+2
365 0132 0E94 0000 call BCDtoASCII
366 .LM56:
367 0136 60E0 ldi r22,lo8(sCURDATE+18)
368 0138 70E0 ldi r23,hi8(sCURDATE+18)
369 013a 8091 0000 lds r24,CURDATE+1
370 013e 0E94 0000 call BCDtoASCII
371 .LM57:
372 0142 60E0 ldi r22,lo8(sCURDATE+22)
373 0144 70E0 ldi r23,hi8(sCURDATE+22)
374 0146 8091 0000 lds r24,CURDATE
375 014a 0E94 0000 call BCDtoASCII
376 /* epilogue: frame size=0 */
377 014e 0895 ret
378 /* epilogue end (size=1) */
379 /* function read_date size 45 (44) */
380 .LFE26:
382 .global init_RTC
384 init_RTC:
385 .LFB23:
386 .LM58:
387 /* prologue: frame size=8 */
388 0150 CF93 push r28
389 0152 DF93 push r29
390 0154 CDB7 in r28,__SP_L__
391 0156 DEB7 in r29,__SP_H__
392 0158 2897 sbiw r28,8
393 015a 0FB6 in __tmp_reg__,__SREG__
394 015c F894 cli
395 015e DEBF out __SP_H__,r29
396 0160 0FBE out __SREG__,__tmp_reg__
397 0162 CDBF out __SP_L__,r28
398 /* prologue end (size=10) */
399 .LM59:
400 0164 0E94 0000 call read_date
401 .LM60:
402 0168 60E0 ldi r22,lo8(0)
403 016a 8EE8 ldi r24,lo8(-114)
404 016c 0E94 0000 call Single_SPI
405 .LM61:
406 0170 8091 0000 lds r24,sCURDATE+22
407 0174 8833 cpi r24,lo8(56)
408 0176 49F4 brne .L77
409 .LM62:
410 0178 9E01 movw r18,r28
411 017a 2F5F subi r18,lo8(-(1))
412 017c 3F4F sbci r19,hi8(-(1))
413 017e 40E0 ldi r20,lo8(INITDATE)
414 0180 50E0 ldi r21,hi8(INITDATE)
415 0182 68E0 ldi r22,lo8(8)
416 0184 8EEB ldi r24,lo8(-66)
417 0186 0E94 0000 call Burst_SPI
418 .L77:
419 .LM63:
420 018a 65EA ldi r22,lo8(-91)
421 018c 80E9 ldi r24,lo8(-112)
422 018e 0E94 0000 call Single_SPI
423 .LM64:
424 0192 60E8 ldi r22,lo8(-128)
425 0194 8EE8 ldi r24,lo8(-114)
426 0196 0E94 0000 call Single_SPI
427 /* epilogue: frame size=8 */
428 019a 2896 adiw r28,8
429 019c 0FB6 in __tmp_reg__,__SREG__
430 019e F894 cli
431 01a0 DEBF out __SP_H__,r29
432 01a2 0FBE out __SREG__,__tmp_reg__
433 01a4 CDBF out __SP_L__,r28
434 01a6 DF91 pop r29
435 01a8 CF91 pop r28
436 01aa 0895 ret
437 /* epilogue end (size=9) */
438 /* function init_RTC size 46 (27) */
439 .LFE23:
441 .global delay_nms
443 delay_nms:
444 .LFB27:
445 .LM65:
446 /* prologue: frame size=0 */
447 01ac CF93 push r28
448 01ae DF93 push r29
449 /* prologue end (size=2) */
450 .LM66:
451 01b0 9C01 movw r18,r24
452 01b2 2150 subi r18,lo8(-(-1))
453 01b4 3040 sbci r19,hi8(-(-1))
454 01b6 8FEF ldi r24,hi8(-1)
455 01b8 2F3F cpi r18,lo8(-1)
456 01ba 3807 cpc r19,r24
457 01bc 69F0 breq .L91
458 01be A3E3 ldi r26,lo8(1843)
459 01c0 B7E0 ldi r27,hi8(1843)
460 01c2 C0E0 ldi r28,hlo8(1843)
461 01c4 D0E0 ldi r29,hhi8(1843)
462 .L89:
463 .LBB26:
464 .LBB27:
465 .LBB28:
466 .LBB29:
467 .LM67:
468 01c6 CD01 movw r24,r26
469 /* #APP */
470 01c8 0197 1: sbiw r24,1
471 01ca F1F7 brne 1b
472 /* #NOAPP */
473 .LBE29:
474 .LBE28:
475 .LBE27:
476 .LBE26:
477 01cc 2150 subi r18,lo8(-(-1))
478 01ce 3040 sbci r19,hi8(-(-1))
479 01d0 8FEF ldi r24,hi8(-1)
480 01d2 2F3F cpi r18,lo8(-1)
481 01d4 3807 cpc r19,r24
482 01d6 B9F7 brne .L89
483 .L91:
484 /* epilogue: frame size=0 */
485 01d8 DF91 pop r29
486 01da CF91 pop r28
487 01dc 0895 ret
488 /* epilogue end (size=3) */
489 /* function delay_nms size 27 (22) */
490 .LFE27:
492 .comm temperature_low,1,1
493 .comm temperature_high,1,1
494 .comm bit_flag,1,1
495 .comm bit_var,1,1
496 .comm bit_hardware,1,1
497 .comm bit_Condition,1,1
498 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 DS1302.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:22 .data:00000000 INITDATE
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:34 .text:00000000 init_SPI
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:50 .text:00000006 Single_SPI
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:130 .text:00000032 Burst_SPI
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:218 .text:0000006a check_RTC
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:260 .text:0000009a revision_time
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:308 .text:000000e2 BCDtoASCII
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:333 .text:000000f6 read_date
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:384 .text:00000150 init_RTC
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccmybaaa.s:443 .text:000001ac delay_nms
*COM*:00000001 temperature_low
*COM*:00000001 temperature_high
*COM*:00000001 bit_flag
*COM*:00000001 bit_var
*COM*:00000001 bit_hardware
*COM*:00000001 bit_Condition
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
CURDATE
sCURDATE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -