📄 power.lst
字号:
491 ;power.c: 284: }
492 00F8 0008 return
493 00F9 l52
494 ;power.c: 288: {
495 00F9 01AB clrf ?a_switch_deal+1
496 ;power.c: 286: case ACCOUNT:
497 ;power.c: 287: if(RA4)
498 00FA 1E05 btfss 5,4
499 00FB 291A goto l60
500 00FC l54
501 00FC 30FA movlw -6
502 00FD 2286 call _short_delay
503 00FE 0AAB incf ?a_switch_deal+1
504 00FF 300A movlw 10
505 0100 022B subwf ?a_switch_deal+1,w
506 0101 1C03 btfss 3,0
507 0102 28FC goto l54
508 ;power.c: 291: if(RA4)
509 0103 1E05 btfss 5,4
510 0104 0008 return
511 ;power.c: 292: {
512 0105 1020 bcf F356/(0+8),F356& (0+7)
513 ;power.c: 294: ((UserOn)&=~(1<<(NextUser)));
514 0106 082A movf ?a_switch_deal,w
515 0107 00F2 movwf btemp+2
516 0108 3001 movlw 1
517 0109 00F0 movwf btemp
518 010A 3000 movlw 0
519 010B 01F1 clrf btemp+1
520 010C 0AF2 incf btemp+2
521 010D 2911 goto u164
522 010E u165
523 010E 1003 bcf 3,0
524 010F 0DF0 rlf btemp
525 0110 0DF1 rlf btemp+1
526 0111 u164
527 0111 0BF2 decfsz btemp+2
528 0112 290E goto u165
529 0113 09F0 comf btemp
530 0114 09F1 comf btemp+1
531 0115 0870 movf btemp,w
532 0116 05A8 andwf _UserOn
533 0117 0871 movf btemp+1,w
534 0118 05A9 andwf _UserOn+1
535 ;power.c: 295: }
536 0119 2935 goto l59
537 ;power.c: 296: else return;
538 ;power.c: 297: }
539 ;power.c: 298: else
540 011A l60
541 011A 30FA movlw -6
542 011B 2286 call _short_delay
543 011C 0AAB incf ?a_switch_deal+1
544 011D 300A movlw 10
545 011E 022B subwf ?a_switch_deal+1,w
546 011F 1C03 btfss 3,0
547 0120 291A goto l60
548 ;power.c: 302: if(!RA4)
549 0121 1A05 btfsc 5,4
550 0122 2935 goto l59
551 ;power.c: 303: {
552 0123 1420 bsf F356/(0+8),F356& (0+7)
553 ;power.c: 305: ((UserOn)|=1<<(NextUser));
554 0124 082A movf ?a_switch_deal,w
555 0125 00F2 movwf btemp+2
556 0126 3001 movlw 1
557 0127 00F0 movwf btemp
558 0128 3000 movlw 0
559 0129 01F1 clrf btemp+1
560 012A 0AF2 incf btemp+2
561 012B 292F goto u194
562 012C u195
563 012C 1003 bcf 3,0
564 012D 0DF0 rlf btemp
565 012E 0DF1 rlf btemp+1
566 012F u194
567 012F 0BF2 decfsz btemp+2
568 0130 292C goto u195
569 0131 0870 movf btemp,w
570 0132 04A8 iorwf _UserOn
571 0133 0871 movf btemp+1,w
572 0134 04A9 iorwf _UserOn+1
573 0135 l59
574 ;power.c: 306: }
575 0135 0AA4 incf _SwitchCount
576 ;power.c: 309: if(++SwitchUser>=12){SwitchUser=
+ 0;}
577 0136 300C movlw 12
578 0137 0AA5 incf _SwitchUser
579 0138 0225 subwf _SwitchUser,w
580 0139 1803 btfsc 3,0
581 013A 01A5 clrf _SwitchUser
582 ;power.c: 328: if(SignalOn==1)
583 013B 1C20 btfss F356/(0+8),F356& (0+7)
584 013C 2941 goto l65
585 ;power.c: 329: {
586 013D 082A movf ?a_switch_deal,w
587 013E 00AC movwf ?_quit_switch
588 013F 3018 movlw 24
589 0140 2A67 goto _quit_switch
590 ;power.c: 331: }
591 0141 l65
592 ;power.c: 332: else{State=CLOSE_LAMP;}
593 0141 01B0 clrf _State
594 ;power.c: 334: break;
595 0142 0008 return
596 0143 l67
597 ;power.c: 335: default:State=CLOSE_LAMP;break;
598 0143 01B0 clrf _State
599 0144 0008 return
600 0145 l43
601 0145 1283 bcf 3,5
602 0146 1303 bcf 3,6 ;carry unused
603 0147 0830 movf _State,w
604 0148 1903 btfsc 3,2
605 0149 28D5 goto l44
606 014A 3A01 xorlw 1
607 014B 1903 btfsc 3,2
608 014C 28D9 goto l45
609 014D 3A03 xorlw 3
610 014E 1903 btfsc 3,2
611 014F 28E2 goto l48
612 0150 3A01 xorlw 1
613 0151 1903 btfsc 3,2
614 0152 28F2 goto l50
615 0153 3A07 xorlw 7
616 0154 1903 btfsc 3,2
617 0155 28F9 goto l52
618 0156 2943 goto l67
619
620 psect text12
621 01EA _read_work
622 ;power.c: 339: void read_work(void)
623 01EA 0183 clrf 3 ;select bank 0
624 01EB 1A05 btfsc 5,4
625 01EC 2A06 goto l71
626 01ED 2A0D goto l69
627 ;power.c: 343: {
628 01EE l72
629 ;power.c: 345: {
630 ;power.c: 347: DelayReadWork.Interval=0;
631 01EE 01B6 clrf _DelayReadWork+1
632 01EF 01B7 clrf _DelayReadWork+2
633 ;power.c: 348: DelayReadWork.en=1;
634 01F0 01B5 clrf _DelayReadWork
635 01F1 0AB5 incf _DelayReadWork
636 ;power.c: 349: DelayReadWork.TimeOut=0;
637 01F2 01B8 clrf _DelayReadWork+3
638 ;power.c: 350: Step=1;
639 01F3 01A1 clrf F361
640 01F4 0AA1 incf F361
641 ;power.c: 351: break;
642 01F5 0008 return
643 01F6 l73
644 ;power.c: 352: case 1:
645 ;power.c: 353: if(DelayReadWork.TimeOut)
646 01F6 08B8 movf _DelayReadWork+3
647 01F7 1903 btfsc 3,2
648 01F8 0008 return
649 ;power.c: 354: {
650 01F9 01B8 clrf _DelayReadWork+3
651 ;power.c: 356: if(RA4)
652 01FA 1E05 btfss 5,4
653 01FB 2A01 goto l75
654 ;power.c: 357: {
655 01FC 1520 bsf _fChangeSwitch/(0+8),_fChangeSwitch& (0+7)
656 ;power.c: 359: SwitchUser=Save.Users;
657 01FD 0826 movf _Save,w
658 01FE 00A5 movwf _SwitchUser
659 ;power.c: 360: SwitchCount=0;
660 01FF 01A4 clrf _SwitchCount
661 ;power.c: 361: INTE=0;
662 0200 120B bcf 11,4
663 0201 l75
664 ;power.c: 362: }
665 0201 01A1 clrf F361
666 ;power.c: 364: }
667 0202 0008 return
668 0203 l76
669 ;power.c: 366: default:Step=1;break;
670 0203 01A1 clrf F361
671 0204 0AA1 incf F361
672 0205 0008 return
673 0206 l71
674 0206 0821 movf F361,w
675 0207 1903 btfsc 3,2
676 0208 29EE goto l72
677 0209 3A01 xorlw 1
678 020A 1903 btfsc 3,2
679 020B 29F6 goto l73
680 020C 2A03 goto l76
681 ;power.c: 390: }
682 020D l69
683 ;power.c: 391: else Step=0;
684 020D 01A1 clrf F361
685 ;power.c: 392: }
686 020E 0008 return ;W free
687
688 psect text13
689 025C _Save2Eeprom
690 ;power.c: 394: char Save2Eeprom(ERom SaveData)
691 025C 0183 clrf 3 ;select bank 0
692 025D 0826 movf _Save,w
693 025E 00AC movwf ?_write_eeprom
694 025F 3000 movlw 0
695 0260 228E call _write_eeprom
696 ;power.c: 397: asm("clrwdt");
697 0261 0064 clrwdt ;#
698 ;power.c: 398: write_eeprom(0x01,Save.RestTimes
+ );
699 0262 0827 movf _Save+1,w
700 0263 00AC movwf ?_write_eeprom
701 0264 3001 movlw 1
702 0265 228E call _write_eeprom
703 ;power.c: 399: return(1);
704 0266 3401 retlw 1
705
706 psect text14
707 029E _unknown_deal
708 ;power.c: 402: void unknown_deal(void)
709 029E 0183 clrf 3 ;select bank 0
710 029F 0008 return ;W free
711
712 psect text15
713 018F _main
714 ;power.c: 406: void main(void)
715 018F 2272 call _init_io
716 ;power.c: 409: init_time();
717 0190 227C call _init_time
718 ;power.c: 410: init_int();
719 ;power.c: 83: void init_int(void)
720 0191 0183 clrf 3 ;select bank 0
721 ;power.c: 411: (GIE = 1);
722 0192 178B bsf 11,7
723 ;power.c: 412: close_all_lamp();
724 0193 220F call _close_all_lamp
725 ;power.c: 413: read_mode();
726 0194 21C0 call _read_mode
727 ;power.c: 415: lamp_on(Save.Users);
728 0195 0826 movf _Save,w
729 0196 2157 call _lamp_on
730 0197 l82
731 ;power.c: 416: while(1)
732 ;power.c: 417: {
733 0197 1CA0 btfss _SystemWdt/(0+8),_SystemWdt& (0+7)
734 0198 299B goto l84
735 ;power.c: 419: {
736 0199 10A0 bcf _SystemWdt/(0+8),_SystemWdt& (0+7)
737 ;power.c: 421: asm("clrwdt");
738 019A 0064 clrwdt ;#
739 019B l84
740 ;power.c: 422: }
741 019B 168B bsf 11,5
742 ;power.c: 424: (GIE = 1);
743 019C 178B bsf 11,7
744 ;power.c: 425: if(fChangeSwitch)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -