ds1302.lst
来自「AT89C51开发例程 protues仿真 keil编程」· LST 代码 · 共 1,311 行 · 第 1/4 页
LST
1,311 行
357 .LM54:
358 016c E92F mov r30,r25
359 016e FF27 clr r31
360 0170 EF70 andi r30,lo8(15)
361 0172 F070 andi r31,hi8(15)
362 0174 E20F add r30,r18
363 0176 F31F adc r31,r19
364 0178 8081 ld r24,Z
365 017a 8093 0000 sts dsp+5,r24
366 /* epilogue: frame size=0 */
367 017e 0895 ret
368 /* epilogue end (size=1) */
369 /* function bcd_change size 63 (62) */
370 .LFE10:
372 .global reflash
374 reflash:
375 .LFB11:
376 .LM55:
377 /* prologue: frame size=0 */
378 /* prologue end (size=0) */
379 .LM56:
380 0180 8FEF ldi r24,lo8(-1)
381 0182 87BB out 55-0x20,r24
382 .LM57:
383 0184 84BB out 52-0x20,r24
384 .LM58:
385 0186 70E0 ldi r23,lo8(0)
386 .LM59:
387 0188 972F mov r25,r23
388 018a E0E0 ldi r30,lo8(dsp)
389 018c F0E0 ldi r31,hi8(dsp)
390 .L40:
391 .LM60:
392 018e 8191 ld r24,Z+
393 0190 803C cpi r24,lo8(-64)
394 0192 11F0 breq .L38
395 .LM61:
396 0194 792F mov r23,r25
397 .LM62:
398 0196 03C0 rjmp .L37
399 .L38:
400 .LM63:
401 0198 9F5F subi r25,lo8(-(1))
402 019a 9630 cpi r25,lo8(6)
403 019c C0F3 brlo .L40
404 .L37:
405 .LM64:
406 019e 9530 cpi r25,lo8(5)
407 01a0 09F4 brne .L41
408 .LM65:
409 01a2 76E0 ldi r23,lo8(6)
410 .L41:
411 .LM66:
412 01a4 8091 0000 lds r24,dsp_state
413 01a8 8823 tst r24
414 01aa 99F4 brne .L42
415 01ac E0E0 ldi r30,lo8(dsp)
416 01ae F0E0 ldi r31,hi8(dsp)
417 01b0 95E0 ldi r25,lo8(5)
418 .L46:
419 .LM67:
420 01b2 8081 ld r24,Z
421 01b4 8068 ori r24,lo8(-128)
422 01b6 8193 st Z+,r24
423 .LM68:
424 01b8 9150 subi r25,lo8(-(-1))
425 01ba 97FF sbrs r25,7
426 01bc FACF rjmp .L46
427 .LM69:
428 01be 8091 0000 lds r24,modify_bit
429 01c2 E82F mov r30,r24
430 01c4 FF27 clr r31
431 01c6 E050 subi r30,lo8(-(dsp))
432 01c8 F040 sbci r31,hi8(-(dsp))
433 01ca 8081 ld r24,Z
434 01cc 8F77 andi r24,lo8(127)
435 01ce 8083 st Z,r24
436 01d0 2FC0 rjmp .L51
437 .L42:
438 .LM70:
439 01d2 8130 cpi r24,lo8(1)
440 01d4 E1F4 brne .L47
441 .LM71:
442 01d6 8091 0000 lds r24,time_dog
443 01da 8F5F subi r24,lo8(-(1))
444 01dc 8093 0000 sts time_dog,r24
445 .LM72:
446 01e0 8E31 cpi r24,lo8(30)
447 01e2 50F4 brsh .L48
448 .LM73:
449 01e4 8091 0000 lds r24,dsp+1
450 01e8 8F77 andi r24,lo8(127)
451 01ea 8093 0000 sts dsp+1,r24
452 .LM74:
453 01ee 8091 0000 lds r24,dsp+3
454 01f2 8F77 andi r24,lo8(127)
455 01f4 8093 0000 sts dsp+3,r24
456 .L48:
457 .LM75:
458 01f8 9091 0000 lds r25,dsp+5
459 01fc 8091 0000 lds r24,dog_none
460 0200 9817 cp r25,r24
461 0202 B1F0 breq .L51
462 .LM76:
463 0204 9093 0000 sts dog_none,r25
464 .LM77:
465 0208 1092 0000 sts time_dog,__zero_reg__
466 020c 11C0 rjmp .L51
467 .L47:
468 .LM78:
469 020e 8330 cpi r24,lo8(3)
470 0210 61F4 brne .L50
471 .LM79:
472 0212 70E0 ldi r23,lo8(0)
473 .LM80:
474 0214 8091 0000 lds r24,dsp+1
475 0218 8F77 andi r24,lo8(127)
476 021a 8093 0000 sts dsp+1,r24
477 .LM81:
478 021e 8091 0000 lds r24,dsp+3
479 0222 8F77 andi r24,lo8(127)
480 0224 8093 0000 sts dsp+3,r24
481 0228 03C0 rjmp .L51
482 .L50:
483 .LM82:
484 022a 8230 cpi r24,lo8(2)
485 022c 09F4 brne .L51
486 .LM83:
487 022e 75E0 ldi r23,lo8(5)
488 .L51:
489 0230 61E0 ldi r22,lo8(1)
490 .L66:
491 .LM84:
492 0232 7630 cpi r23,lo8(6)
493 0234 B8F4 brsh .L73
494 0236 24EF ldi r18,lo8(500)
495 0238 31E0 ldi r19,hi8(500)
496 023a 40E0 ldi r20,hlo8(500)
497 023c 50E0 ldi r21,hhi8(500)
498 023e 872F mov r24,r23
499 0240 9927 clr r25
500 0242 DC01 movw r26,r24
501 0244 A050 subi r26,lo8(-(dsp))
502 0246 B040 sbci r27,hi8(-(dsp))
503 0248 FC01 movw r30,r24
504 024a E050 subi r30,lo8(-(dig))
505 024c F040 sbci r31,hi8(-(dig))
506 .L65:
507 .LM85:
508 024e 15BA out 53-0x20,__zero_reg__
509 .LM86:
510 0250 8191 ld r24,Z+
511 0252 85BB out 53-0x20,r24
512 .LM87:
513 0254 8D91 ld r24,X+
514 0256 88BB out 56-0x20,r24
515 .LBB2:
516 .LBB3:
517 .LBB4:
518 .LBB5:
519 .LM88:
520 0258 C901 movw r24,r18
521 /* #APP */
522 025a 0197 1: sbiw r24,1
523 025c F1F7 brne 1b
524 /* #NOAPP */
525 .LBE5:
526 .LBE4:
527 .LBE3:
528 .LBE2:
529 .LM89:
530 025e 7F5F subi r23,lo8(-(1))
531 0260 7630 cpi r23,lo8(6)
532 0262 A8F3 brlo .L65
533 .L73:
534 .LM90:
535 0264 6150 subi r22,lo8(-(-1))
536 0266 67FF sbrs r22,7
537 0268 E4CF rjmp .L66
538 /* epilogue: frame size=0 */
539 026a 0895 ret
540 /* epilogue end (size=1) */
541 /* function reflash size 120 (119) */
542 .LFE11:
544 .global main
546 main:
547 .LFB12:
548 .LM91:
549 /* prologue: frame size=0 */
550 026c C0E0 ldi r28,lo8(__stack - 0)
551 026e D0E0 ldi r29,hi8(__stack - 0)
552 0270 DEBF out __SP_H__,r29
553 0272 CDBF out __SP_L__,r28
554 /* prologue end (size=4) */
555 .LM92:
556 0274 CFEF ldi r28,lo8(-1)
557 0276 C7BB out 55-0x20,r28
558 .LM93:
559 0278 81B3 in r24,49-0x20
560 027a 8770 andi r24,lo8(7)
561 027c 81BB out 49-0x20,r24
562 .LM94:
563 027e 85B7 in r24,85-0x20
564 0280 8860 ori r24,lo8(8)
565 0282 85BF out 85-0x20,r24
566 .LM95:
567 0284 85B7 in r24,85-0x20
568 0286 8B7F andi r24,lo8(-5)
569 0288 85BF out 85-0x20,r24
570 .LM96:
571 028a 8AB7 in r24,90-0x20
572 028c 8F77 andi r24,lo8(127)
573 028e 8ABF out 90-0x20,r24
574 .LM97:
575 0290 8FB7 in r24,95-0x20
576 0292 8068 ori r24,lo8(-128)
577 0294 8FBF out 95-0x20,r24
578 .LM98:
579 0296 8BB7 in r24,91-0x20
580 0298 8068 ori r24,lo8(-128)
581 029a 8BBF out 91-0x20,r24
582 .LM99:
583 029c 65EA ldi r22,lo8(-91)
584 029e 80E9 ldi r24,lo8(-112)
585 02a0 E6DE rcall write_ds1302
586 .LM100:
587 02a2 81E8 ldi r24,lo8(-127)
588 02a4 F4DE rcall in_byte
589 02a6 87FF sbrs r24,7
590 02a8 03C0 rjmp .L75
591 .LM101:
592 02aa 60E0 ldi r22,lo8(0)
593 02ac 80E8 ldi r24,lo8(-128)
594 02ae DFDE rcall write_ds1302
595 .L75:
596 .LM102:
597 02b0 81E0 ldi r24,lo8(1)
598 02b2 8093 0000 sts dsp_state,r24
599 .LM103:
600 02b6 C7BB out 55-0x20,r28
601 .LM104:
602 02b8 C4BB out 52-0x20,r28
603 .L76:
604 .LM105:
605 02ba 8FB7 in r24,95-0x20
606 02bc 8F77 andi r24,lo8(127)
607 02be 8FBF out 95-0x20,r24
608 .LM106:
609 02c0 8091 0000 lds r24,dsp_state
610 02c4 9927 clr r25
611 02c6 8230 cpi r24,2
612 02c8 9105 cpc r25,__zero_reg__
613 02ca B9F0 breq .L81
614 02cc 8330 cpi r24,3
615 02ce 9105 cpc r25,__zero_reg__
616 02d0 1CF4 brge .L84
617 02d2 0197 sbiw r24,1
618 02d4 21F0 breq .L80
619 02d6 29C0 rjmp .L78
620 .L84:
621 02d8 0397 sbiw r24,3
622 02da C1F0 breq .L82
623 02dc 26C0 rjmp .L78
624 .L80:
625 .LM107:
626 02de 85E8 ldi r24,lo8(-123)
627 02e0 D6DE rcall in_byte
628 02e2 8F73 andi r24,lo8(63)
629 02e4 8093 0000 sts bcd_dsp,r24
630 .LM108:
631 02e8 83E8 ldi r24,lo8(-125)
632 02ea D1DE rcall in_byte
633 02ec 8F77 andi r24,lo8(127)
634 02ee 8093 0000 sts bcd_dsp+1,r24
635 .LM109:
636 02f2 81E8 ldi r24,lo8(-127)
637 02f4 CCDE rcall in_byte
638 02f6 8F77 andi r24,lo8(127)
639 02f8 15C0 rjmp .L85
640 .L81:
641 .LM110:
642 02fa 1092 0000 sts bcd_dsp,__zero_reg__
643 .LM111:
644 02fe 1092 0000 sts bcd_dsp+1,__zero_reg__
645 .LM112:
646 0302 8BE8 ldi r24,lo8(-117)
647 0304 C4DE rcall in_byte
648 0306 8770 andi r24,lo8(7)
649 0308 8150 subi r24,lo8(-(-1))
650 030a 0CC0 rjmp .L85
651 .L82:
652 .LM113:
653 030c 8DE8 ldi r24,lo8(-115)
654 030e BFDE rcall in_byte
655 0310 8093 0000 sts bcd_dsp,r24
656 .LM114:
657 0314 89E8 ldi r24,lo8(-119)
658 0316 BBDE rcall in_byte
659 0318 8F71 andi r24,lo8(31)
660 031a 8093 0000 sts bcd_dsp+1,r24
661 .LM115:
662 031e 87E8 ldi r24,lo8(-121)
663 0320 B6DE rcall in_byte
664 0322 8F73 andi r24,lo8(63)
665 .L85:
666 0324 8093 0000 sts bcd_dsp+2,r24
667 .LM116:
668 0328 ECDE rcall bcd_change
669 .L78:
670 .LM117:
671 032a 2ADF rcall reflash
672 .LM118:
673 032c 8FB7 in r24,95-0x20
674 032e 8068 ori r24,lo8(-128)
675 0330 8FBF out 95-0x20,r24
676 0332 C3CF rjmp .L76
677 /* epilogue: frame size=0 */
678 /* epilogue: noreturn */
679 /* epilogue end (size=0) */
680 /* function main size 102 (98) */
681 .LFE12:
683 .global __vector_2
685 __vector_2:
686 .LFB13:
687 .LM119:
688 /* prologue: frame size=0 */
689 0334 1F92 push __zero_reg__
690 0336 0F92 push __tmp_reg__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?