📄 ds1302.lst
字号:
80:ds1302.c **** {
300 .LM42:
301 /* #APP */
302 0078 F894 cli
81:ds1302.c **** cbi(DS1302_PORT, DS1302_RST);
304 .LM43:
305 /* #NOAPP */
306 007a 0E94 0000 call _DS1302_WR_Byte
82:ds1302.c **** cbi(DS1302_PORT, DS1302_SCLK);
308 .LM44:
309 007e 812F mov r24,r17
310 0080 0E94 0000 call _DS1302_WR_Byte
83:ds1302.c **** sbi(DS1302_PORT, DS1302_RST);
312 .LM45:
313 /* #APP */
314 0084 7894 sei
84:ds1302.c **** cli();
316 .LM46:
317 /* #NOAPP */
318 0086 9598 cbi 50-0x20,5
319 /* epilogue: frame size=0 */
320 0088 1F91 pop r17
321 008a 0895 ret
322 /* epilogue end (size=2) */
323 /* function DS1302_Write size 17 (14) */
329 .global DS1302_Get_Time
331 DS1302_Get_Time:
85:ds1302.c **** _DS1302_WR_Byte(addr);
86:ds1302.c **** _DS1302_WR_Byte(value);
87:ds1302.c **** sei();
88:ds1302.c **** cbi(DS1302_PORT, DS1302_RST);
333 .LM47:
334 /* prologue: frame size=0 */
335 008c CF92 push r12
336 008e DF92 push r13
337 0090 EF92 push r14
338 0092 FF92 push r15
339 0094 0F93 push r16
340 0096 1F93 push r17
341 /* prologue end (size=6) */
342 0098 8C01 movw r16,r24
343 009a 7B01 movw r14,r22
344 009c 6A01 movw r12,r20
89:ds1302.c **** }
346 .LM48:
347 009e 85E8 ldi r24,lo8(-123)
348 00a0 0E94 0000 call DS1302_Read
349 00a4 0E94 0000 call bcd2bin
350 00a8 F801 movw r30,r16
351 00aa 8083 st Z,r24
90:ds1302.c ****
353 .LM49:
354 00ac 83E8 ldi r24,lo8(-125)
355 00ae 0E94 0000 call DS1302_Read
356 00b2 0E94 0000 call bcd2bin
357 00b6 F701 movw r30,r14
358 00b8 8083 st Z,r24
91:ds1302.c **** void DS1302_Get_Time(unsigned char *hour, unsigned char *min, unsigned char *sec)
360 .LM50:
361 00ba 81E8 ldi r24,lo8(-127)
362 00bc 0E94 0000 call DS1302_Read
363 00c0 0E94 0000 call bcd2bin
364 00c4 F601 movw r30,r12
365 00c6 8083 st Z,r24
366 /* epilogue: frame size=0 */
367 00c8 1F91 pop r17
368 00ca 0F91 pop r16
369 00cc FF90 pop r15
370 00ce EF90 pop r14
371 00d0 DF90 pop r13
372 00d2 CF90 pop r12
373 00d4 0895 ret
374 /* epilogue end (size=7) */
375 /* function DS1302_Get_Time size 37 (24) */
381 .global DS1302_Set_Time
383 DS1302_Set_Time:
92:ds1302.c **** {
93:ds1302.c **** *hour = bcd2bin(DS1302_Read(DS1302_RD_HOUR));
94:ds1302.c **** *min = bcd2bin(DS1302_Read(DS1302_RD_MINUTE));
95:ds1302.c **** *sec = bcd2bin(DS1302_Read(DS1302_RD_SECOND));
385 .LM51:
386 /* prologue: frame size=0 */
387 00d6 FF92 push r15
388 00d8 0F93 push r16
389 00da 1F93 push r17
390 /* prologue end (size=3) */
391 00dc 182F mov r17,r24
392 00de 062F mov r16,r22
393 00e0 F42E mov r15,r20
96:ds1302.c **** }
395 .LM52:
396 00e2 60E0 ldi r22,lo8(0)
397 00e4 8EE8 ldi r24,lo8(-114)
398 00e6 0E94 0000 call DS1302_Write
97:ds1302.c ****
400 .LM53:
401 00ea 812F mov r24,r17
402 00ec 0E94 0000 call bin2bcd
403 00f0 682F mov r22,r24
404 00f2 84E8 ldi r24,lo8(-124)
405 00f4 0E94 0000 call DS1302_Write
98:ds1302.c **** void DS1302_Set_Time(unsigned char hour, unsigned char min, unsigned char sec)
99:ds1302.c **** {
407 .LM54:
408 00f8 60E0 ldi r22,lo8(0)
409 00fa 8EE8 ldi r24,lo8(-114)
410 00fc 0E94 0000 call DS1302_Write
100:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
412 .LM55:
413 0100 802F mov r24,r16
414 0102 0E94 0000 call bin2bcd
415 0106 682F mov r22,r24
416 0108 82E8 ldi r24,lo8(-126)
417 010a 0E94 0000 call DS1302_Write
101:ds1302.c **** DS1302_Write(DS1302_WR_HOUR, bin2bcd(hour));
102:ds1302.c ****
419 .LM56:
420 010e 60E0 ldi r22,lo8(0)
421 0110 8EE8 ldi r24,lo8(-114)
422 0112 0E94 0000 call DS1302_Write
103:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
424 .LM57:
425 0116 8F2D mov r24,r15
426 0118 0E94 0000 call bin2bcd
427 011c 682F mov r22,r24
428 011e 80E8 ldi r24,lo8(-128)
429 0120 0E94 0000 call DS1302_Write
430 /* epilogue: frame size=0 */
431 0124 1F91 pop r17
432 0126 0F91 pop r16
433 0128 FF90 pop r15
434 012a 0895 ret
435 /* epilogue end (size=4) */
436 /* function DS1302_Set_Time size 43 (36) */
443 .global DS1302_Get_Date
445 DS1302_Get_Date:
104:ds1302.c **** DS1302_Write(DS1302_WR_MINUTE, bin2bcd(min));
105:ds1302.c ****
106:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
107:ds1302.c **** DS1302_Write(DS1302_WR_SECOND, bin2bcd(sec));
447 .LM58:
448 /* prologue: frame size=0 */
449 012c AF92 push r10
450 012e BF92 push r11
451 0130 CF92 push r12
452 0132 DF92 push r13
453 0134 EF92 push r14
454 0136 FF92 push r15
455 0138 0F93 push r16
456 013a 1F93 push r17
457 /* prologue end (size=8) */
458 013c 8C01 movw r16,r24
459 013e 7B01 movw r14,r22
460 0140 6A01 movw r12,r20
461 0142 5901 movw r10,r18
108:ds1302.c **** }
463 .LM59:
464 0144 8DE8 ldi r24,lo8(-115)
465 0146 0E94 0000 call DS1302_Read
466 014a 0E94 0000 call bcd2bin
467 014e F801 movw r30,r16
468 0150 8083 st Z,r24
109:ds1302.c ****
470 .LM60:
471 0152 89E8 ldi r24,lo8(-119)
472 0154 0E94 0000 call DS1302_Read
473 0158 0E94 0000 call bcd2bin
474 015c F701 movw r30,r14
475 015e 8083 st Z,r24
110:ds1302.c **** void DS1302_Get_Date(unsigned char *year, unsigned char *month, unsigned char *day, unsigned char *
477 .LM61:
478 0160 87E8 ldi r24,lo8(-121)
479 0162 0E94 0000 call DS1302_Read
480 0166 0E94 0000 call bcd2bin
481 016a F601 movw r30,r12
482 016c 8083 st Z,r24
111:ds1302.c **** {
484 .LM62:
485 016e 8BE8 ldi r24,lo8(-117)
486 0170 0E94 0000 call DS1302_Read
487 0174 0E94 0000 call bcd2bin
488 0178 F501 movw r30,r10
489 017a 8083 st Z,r24
490 /* epilogue: frame size=0 */
491 017c 1F91 pop r17
492 017e 0F91 pop r16
493 0180 FF90 pop r15
494 0182 EF90 pop r14
495 0184 DF90 pop r13
496 0186 CF90 pop r12
497 0188 BF90 pop r11
498 018a AF90 pop r10
499 018c 0895 ret
500 /* epilogue end (size=9) */
501 /* function DS1302_Get_Date size 49 (32) */
508 .global DS1302_Set_Date
510 DS1302_Set_Date:
112:ds1302.c **** *year = bcd2bin(DS1302_Read(DS1302_RD_YEAR));
113:ds1302.c **** *month = bcd2bin(DS1302_Read(DS1302_RD_MONTH));
114:ds1302.c **** *day = bcd2bin(DS1302_Read(DS1302_RD_DAY));
115:ds1302.c **** *week = bcd2bin(DS1302_Read(DS1302_RD_WEEK));
512 .LM63:
513 /* prologue: frame size=0 */
514 018e EF92 push r14
515 0190 FF92 push r15
516 0192 0F93 push r16
517 0194 1F93 push r17
518 /* prologue end (size=4) */
519 0196 182F mov r17,r24
520 0198 062F mov r16,r22
521 019a F42E mov r15,r20
522 019c E22E mov r14,r18
116:ds1302.c **** }
524 .LM64:
525 019e 60E0 ldi r22,lo8(0)
526 01a0 8EE8 ldi r24,lo8(-114)
527 01a2 0E94 0000 call DS1302_Write
117:ds1302.c ****
529 .LM65:
530 01a6 812F mov r24,r17
531 01a8 0E94 0000 call bin2bcd
532 01ac 682F mov r22,r24
533 01ae 8CE8 ldi r24,lo8(-116)
534 01b0 0E94 0000 call DS1302_Write
118:ds1302.c **** void DS1302_Set_Date(unsigned char year, unsigned char month, unsigned char day, unsigned char week
119:ds1302.c **** {
536 .LM66:
537 01b4 60E0 ldi r22,lo8(0)
538 01b6 8EE8 ldi r24,lo8(-114)
539 01b8 0E94 0000 call DS1302_Write
120:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
541 .LM67:
542 01bc 802F mov r24,r16
543 01be 0E94 0000 call bin2bcd
544 01c2 682F mov r22,r24
545 01c4 88E8 ldi r24,lo8(-120)
546 01c6 0E94 0000 call DS1302_Write
121:ds1302.c **** DS1302_Write(DS1302_WR_YEAR, bin2bcd(year));
122:ds1302.c ****
548 .LM68:
549 01ca 60E0 ldi r22,lo8(0)
550 01cc 8EE8 ldi r24,lo8(-114)
551 01ce 0E94 0000 call DS1302_Write
123:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
553 .LM69:
554 01d2 8F2D mov r24,r15
555 01d4 0E94 0000 call bin2bcd
556 01d8 682F mov r22,r24
557 01da 86E8 ldi r24,lo8(-122)
558 01dc 0E94 0000 call DS1302_Write
124:ds1302.c **** DS1302_Write(DS1302_WR_MONTH, bin2bcd(month));
125:ds1302.c ****
560 .LM70:
561 01e0 60E0 ldi r22,lo8(0)
562 01e2 8EE8 ldi r24,lo8(-114)
563 01e4 0E94 0000 call DS1302_Write
126:ds1302.c **** DS1302_Write(DS1302_WR_CTRL, 0x00);
565 .LM71:
566 01e8 8E2D mov r24,r14
567 01ea 0E94 0000 call bin2bcd
568 01ee 682F mov r22,r24
569 01f0 8AE8 ldi r24,lo8(-118)
570 01f2 0E94 0000 call DS1302_Write
571 /* epilogue: frame size=0 */
572 01f6 1F91 pop r17
573 01f8 0F91 pop r16
574 01fa FF90 pop r15
575 01fc EF90 pop r14
576 01fe 0895 ret
577 /* epilogue end (size=5) */
578 /* function DS1302_Set_Date size 57 (48) */
580 .text
582 Letext:
583 /* File "ds1302.c": code 266 = 0x010a ( 213), prologues 22, epilogues 31 */
DEFINED SYMBOLS
*ABS*:00000000 ds1302.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:54 .text:00000000 DS1302_Init
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:76 .text:00000008 _DS1302_RD_Byte
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:171 .text:00000034 _DS1302_WR_Byte
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:236 .text:00000056 DS1302_Read
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:283 .text:0000006e DS1302_Write
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:331 .text:0000008c DS1302_Get_Time
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:383 .text:000000d6 DS1302_Set_Time
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:445 .text:0000012c DS1302_Get_Date
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:510 .text:0000018e DS1302_Set_Date
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccEvaaaa.s:582 .text:00000200 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
bcd2bin
bin2bcd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -