📄 myc.lst
字号:
579 ;myc.c: 196: if(ReadCode[0]!=AddrH)return 0xFF;
580 033E 082C movf ?a_GetData+4,w
581 033F 0622 xorwf _AddrH,w
582 0340 1D03 btfss 3,2
583 0341 34FF retlw -1
584 ;myc.c: 197: if(ReadCode[1]!=AddrL)return 0xFF;
585 0342 082D movf ?a_GetData+5,w
586 0343 0623 xorwf _AddrL,w
587 0344 1D03 btfss 3,2
588 0345 34FF retlw -1
589 ;myc.c: 198: GetCode=ReadCode[2]&0x01;
590 0346 082E movf ?a_GetData+6,w
591 0347 3901 andlw 1
592 0348 00A8 movwf ?a_GetData
593 ;myc.c: 199: GetCode|=(ReadCode[2]&0x04)>>1;
594 0349 082E movf ?a_GetData+6,w
595 034A 3904 andlw 4
596 034B 00BB movwf btemp
597 034C 1003 bcf 3,0
598 034D 0C3B rrf btemp,w
599 034E 04A8 iorwf ?a_GetData
600 ;myc.c: 200: GetCode|=(ReadCode[2]&0x10)>>2;
601 034F 082E movf ?a_GetData+6,w
602 0350 3910 andlw 16
603 0351 00BB movwf btemp
604 0352 1003 bcf 3,0
605 0353 0CBB rrf btemp
606 0354 1003 bcf 3,0
607 0355 0C3B rrf btemp,w
608 0356 04A8 iorwf ?a_GetData
609 ;myc.c: 201: GetCode|=(ReadCode[2]&0x40)>>3;
610 0357 082E movf ?a_GetData+6,w
611 0358 3940 andlw 64
612 0359 00BB movwf btemp
613 035A 1003 bcf 3,0
614 035B 0CBB rrf btemp
615 035C 1003 bcf 3,0
616 035D 0CBB rrf btemp
617 035E 1003 bcf 3,0
618 035F 0C3B rrf btemp,w
619 0360 04A8 iorwf ?a_GetData
620 ;myc.c: 202: return GetCode;
621 0361 0828 movf ?a_GetData,w
622 ;myc.c: 203: }
623 0362 0008 return
624
625 psect text5
626 ;myc.c: 206: void delay(){ for(i=6553;i!=0;i--)
+ continue;}
627 0204 _delay
628 0204 3099 movlw 153
629 0205 1283 bcf 3,5
630 0206 00A5 movwf _i
631 0207 3019 movlw 25
632 0208 00A6 movwf _i+1
633 0209 2A0E goto l76
634 020A l73
635 020A 08A5 movf _i
636 020B 1903 btfsc 3,2
637 020C 03A6 decf _i+1
638 020D 03A5 decf _i
639 020E l76
640 020E 0826 movf _i+1,w
641 020F 0425 iorwf _i,w
642 0210 1903 btfsc 3,2
643 0211 0008 return
644 0212 2A0A goto l73
645
646 psect text6
647 ;myc.c: 208: void beep(void)
648 ;myc.c: 209: { unsigned char i;
649 01DE _beep
650 ; _i assigned to ?a_beep+0
651 0000 _beep$i set ?a_beep
652 ;myc.c: 210: for(i=0;i<0xff;i++)
653 01DE 1283 bcf 3,5
654 01DF 01A7 clrf ?a_beep
655 01E0 l78
656 ;myc.c: 211: { delay_150us(5);
657 01E0 3005 movlw 5
658 01E1 1283 bcf 3,5
659 01E2 21EA call _delay_150us
660 ;myc.c: 212: BEEP=!BEEP;
661 01E3 3004 movlw 4
662 01E4 0687 xorwf 7
663 ;myc.c: 213: }
664 01E5 0AA7 incf ?a_beep
665 01E6 0F27 incfsz ?a_beep,w
666 01E7 29E0 goto l78
667 ;myc.c: 214: BEEP=0;
668 01E8 1107 bcf 7,2
669 ;myc.c: 215: }
670 01E9 0008 return
671
672 psect intcode
673 ;myc.c: 217: void interrupt ISR(void)
674 ;myc.c: 218: {
675 0008 _ISR
676 0008 int_func
677 ;myc.c: 219: if(RAIE && RAIF)
678 0008 198B btfsc 11,3
679 0009 1C0B btfss 11,0
680 000A 2822 goto l81
681 ;myc.c: 220: { RAIF = 0;
682 000B 100B bcf 11,0
683 ;myc.c: 221: delay();
684 000C 1283 bcf 3,5
685 000D 2204 call _delay
686 ;myc.c: 222: if(KEY1==0){sign_key=1;keyCode=1;}
687 000E 1805 btfsc 5,0
688 000F 2813 goto l83
689 0010 1421 bsf _sign_key/(0+8),_sign_key& (0+7)
690 0011 01A4 clrf _keyCode
691 0012 0AA4 incf _keyCode
692 0013 l83
693 ;myc.c: 223: if(KEY2==0){sign_key=1;keyCode=2;}
694 0013 1885 btfsc 5,1
695 0014 2818 goto l84
696 0015 1421 bsf _sign_key/(0+8),_sign_key& (0+7)
697 0016 3002 movlw 2
698 0017 00A4 movwf _keyCode
699 0018 l84
700 ;myc.c: 224: if(KEY3==0){sign_key=1;keyCode=3;}
701 0018 1A05 btfsc 5,4
702 0019 281D goto l85
703 001A 1421 bsf _sign_key/(0+8),_sign_key& (0+7)
704 001B 3003 movlw 3
705 001C 00A4 movwf _keyCode
706 001D l85
707 ;myc.c: 225: if(KEY4==0){sign_key=1;keyCode=4;}
708 001D 1A85 btfsc 5,5
709 001E 2822 goto l81
710 001F 1421 bsf _sign_key/(0+8),_sign_key& (0+7)
711 0020 3004 movlw 4
712 0021 00A4 movwf _keyCode
713 ;myc.c: 227: }
714 ;myc.c: 236: }
715 0022 l81
716 0022 1283 bcf 3,5
717
718 psect intsave_0
719 0020 saved_w
720 0020 ds 1
721
722 psect intret
723 0023 int_restore
724 0023 083F movf saved_status,w
725 0024 0083 movwf 3
726 0025 0EA0 swapf saved_w
727 0026 0E20 swapf saved_w,w
728 0027 0009 retfie
729
730 psect intentry
731 0004 int_entry
732 0004 00A0 movwf saved_w
733 0005 0803 movf 3,w
734 0006 0183 clrf 3
735 0007 00BF movwf saved_status
736
737 psect intsave
738 003F saved_status
739 003F ds 1
740
741 psect text8
742 ;myc.c: 238: void main()
743 ;myc.c: 239: {
744 0363 _main
745 ; _mydata assigned to ?a_main+0
746 0000 _main$mydata set ?a_main
747 ;myc.c: 241: unsigned char mydata;
748 0363 1283 bcf 3,5
749 0364 1207 bcf 7,4
750 ;myc.c: 244: CMCON=0x07;
751 0365 3007 movlw 7
752 0366 0099 movwf 25 ;volatile
753 ;myc.c: 245: TRISA=0x33;
754 0367 3033 movlw 51
755 0368 1683 bsf 3,5
756 0369 0085 movwf 5 ;volatile
757 ;myc.c: 246: OPTION=0x7f;
758 036A 307F movlw 127
759 036B 0081 movwf 1
760 ;myc.c: 247: WPUA=0xFF;
761 036C 30FF movlw -1
762 036D 0095 movwf 21
763 ;myc.c: 248: TRISC=0x08;
764 036E 3008 movlw 8
765 036F 0087 movwf 7 ;volatile
766 ;myc.c: 250: RAIF=0;
767 0370 100B bcf 11,0
768 ;myc.c: 251: PORTA=0x00;
769 0371 1283 bcf 3,5
770 0372 0185 clrf 5 ;volatile
771 ;myc.c: 252: RAIE=1;
772 0373 158B bsf 11,3
773 ;myc.c: 253: IOCA=0x33;
774 0374 3033 movlw 51
775 0375 1683 bsf 3,5
776 0376 0096 movwf 22
777 ;myc.c: 254: GIE =1;
778 0377 178B bsf 11,7
779 ;myc.c: 255: PORTA = PORTA;
780 0378 1283 bcf 3,5
781 0379 0805 movf 5,w ;volatile
782 037A 0085 movwf 5 ;volatile
783 ;myc.c: 256: Convert();
784 037B 1283 bcf 3,5
785 037C 2213 call _Convert
786 ;myc.c: 257: Send("1010ffff",1);
787 037D 01A8 clrf ?_Send
788 037E 0AA8 incf ?_Send
789 037F 305E movlw low u19
790 0380 00BB movwf btemp
791 0381 3000 movlw high u19
792 0382 00BC movwf btemp+1
793 0383 083B movf btemp,w
794 0384 226A call _Send
795 0385 l88
796 ;myc.c: 258: for(;;){
797 ;myc.c: 259: if(sign_key)
798 0385 1821 btfsc _sign_key/(0+8),_sign_key& (0+7)
799 0386 2BD2 goto l93
800 0387 2BE0 goto l91
801 ;myc.c: 260: { switch(keyCode){
802 0388 l94
803 ;myc.c: 261: case 1:
804 ;myc.c: 262: LED1=0;
805 0388 1087 bcf 7,1
806 ;myc.c: 263: Send(DeviceAddr,1);
807 0389 01A8 clrf ?_Send
808 038A 0AA8 incf ?_Send
809 038B 3032 movlw _DeviceAddr
810 038C 226A call _Send
811 ;myc.c: 264: Send(DeviceAddr,1);
812 038D 01A8 clrf ?_Send
813 038E 0AA8 incf ?_Send
814 038F 3032 movlw _DeviceAddr
815 0390 226A call _Send
816 ;myc.c: 265: Send(DeviceAddr,1);
817 0391 01A8 clrf ?_Send
818 0392 0AA8 incf ?_Send
819 0393 3032 movlw _DeviceAddr
820 0394 226A call _Send
821 ;myc.c: 266: Send(DeviceAddr,1);
822 0395 01A8 clrf ?_Send
823 0396 0AA8 incf ?_Send
824 0397 3032 movlw _DeviceAddr
825 0398 226A call _Send
826 ;myc.c: 267: break;
827 0399 2BDF goto l92
828 039A l95
829 ;myc.c: 268: case 2:
830 ;myc.c: 269: Send(DeviceAddr,2);
831 039A 3002 movlw 2
832 039B 00A8 movwf ?_Send
833 039C 3032 movlw _DeviceAddr
834 039D 226A call _Send
835 ;myc.c: 270: Send(DeviceAddr,2);
836 039E 3002 movlw 2
837 039F 00A8 movwf ?_Send
838 03A0 3032 movlw _DeviceAddr
839 03A1 226A call _Send
840 ;myc.c: 271: Send(DeviceAddr,2);
841 03A2 3002 movlw 2
842 03A3 00A8 movwf ?_Send
843 03A4 3032 movlw _DeviceAddr
844 03A5 226A call _Send
845 ;myc.c: 272: Send(DeviceAddr,2);
846 03A6 3002 movlw 2
847 03A7 00A8 movwf ?_Send
848 03A8 3032 movlw _DeviceAddr
849 03A9 226A call _Send
850 ;myc.c: 273: LED1=1;
851 03AA 1487 bsf 7,1
852 ;myc.c: 274: break;
853 03AB 2BDF goto l92
854 03AC l96
855 ;myc.c: 275: case 3:
856 ;myc.c: 276: Send(DeviceAddr,4);
857 03AC 3004 movlw 4
858 03AD 00A8 movwf ?_Send
859 03AE 3032 movlw _DeviceAddr
860 03AF 226A call _Send
861 ;myc.c: 277: Send(DeviceAddr,4);
862 03B0 3004 movlw 4
863 03B1 00A8 movwf ?_Send
864 03B2 3032 movlw _DeviceAddr
865 03B3 226A call _Send
866 ;myc.c: 278: Send(DeviceAddr,4);
867 03B4 3004 movlw 4
868 03B5 00A8 movwf ?_Send
869 03B6 3032 movlw _DeviceAddr
870 03B7 226A call _Send
871 ;myc.c: 279: Send(DeviceAddr,4);
872 03B8 3004 movlw 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -