📄 setupmenu.ls1
字号:
080D A6C4DCD1
0811 A1CF
0813 EEB4FAC2 601 DB 0EEH,0B4H,0FAH,0C2H,0EBH,0A3H,0A1H,'*' ,'*' ,'*'
0817 EBA3A12A
081B 2A2A
081D 0A0A0D00 602 DB 00AH,00AH,00DH,000H
603
604 ; #include "MENUADDRESS.H"
605 ; #include <stdio.h>
606 ; #include <string.h>
607 ; #include <reg52.h>
608 ;
609 ; #define uchar unsigned char
610 ; #define uint unsigned int
611 ;
612 ;
613 ; extern const unsigned char code FixedIP[] ;
614 ; extern const unsigned char code HostName[] ;
615 ; extern const unsigned char code CsFixedIP1[];
616 ; extern const unsigned char code CsFixedIP2[];
617 ; extern const unsigned char code CmId[] ;
618 ; extern const unsigned char code CMPortNum[] ;
619 ; extern const unsigned char code CS1PortNum[];
620 ; extern const unsigned char code CS2PortNum[];
621 ; extern const unsigned char code InterBaud[] ;
622 ; extern const unsigned char code EvenOdd[] ;
623 ; extern const unsigned char code HeartTime[] ;
624 ; extern const unsigned char code PassWord[] ;
625 ; extern const unsigned char code SerNumber[] ;
626 ; extern const unsigned char code Writedefaultflag[] ;
627 ;
628 ; extern const unsigned char code menu[];
629 ; extern const unsigned char code BaudList[];
630 ; extern const unsigned char code WorkModeList[];
631 ;
632 ; extern unsigned char idata input[32];
633 ; extern unsigned char idata tempbuf[16];
634 ; extern void Delay(uint x);
635 ; extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
636 ; extern void WriteUserBlock(uint Address,uchar idata *source,uchar Number);
637 ; extern void WriteDefault();
638 ;
639 ; extern uchar _AsyncPutTest(void);
640 ; extern void _AsyncPut(uchar ucValue);
641 ; extern uchar _AsyncGetTest(void);
642 ; extern uchar _AsyncGet(void);
643 ; extern void _EXP_Put(uchar ucValue);
644 ; extern uchar _EXP_GetTest(void);
645 ; extern uchar _EXP_Get(void);
646 ;
647 ; uchar get_char()
648
---- 649 RSEG ?PR?get_char?SETUPMENU
0000 650 get_char:
651 USING 0
652 ; SOURCE LINE # 44
653 ; {
654 ; SOURCE LINE # 45
0000 655 ?C0001:
A51 MACRO ASSEMBLER SETUPMENU 12/04/2004 19:45:47 PAGE 17
656 ; uchar TPC;
657 ;
658 ; while(_AsyncGetTest == 0) ;
659 ; SOURCE LINE # 48
0000 7BFF 660 MOV R3,#0FFH
0002 7A00 F 661 MOV R2,#HIGH (_AsyncGetTest)
0004 7900 F 662 MOV R1,#LOW (_AsyncGetTest)
0006 AE02 663 MOV R6,AR2
0008 AF01 664 MOV R7,AR1
000A EF 665 MOV A,R7
000B 4E 666 ORL A,R6
000C 60F2 667 JZ ?C0001
000E 668 ?C0002:
669 ; TPC = _AsyncGet();
670 ; SOURCE LINE # 49
000E 120000 F 671 LCALL _AsyncGet
0011 8F00 F 672 MOV TPC?040,R7
673 ; return TPC;
674 ; SOURCE LINE # 50
0013 AF00 F 675 MOV R7,TPC?040
676 ; }
677 ; SOURCE LINE # 51
0015 678 ?C0003:
0015 22 679 RET
680 ; END OF get_char
681
682 ;
683 ; void put_chars(uchar *p)
684
---- 685 RSEG ?PR?_put_chars?SETUPMENU
0000 686 _put_chars:
687 USING 0
688 ; SOURCE LINE # 53
0000 8B00 F 689 MOV p?141,R3
0002 8A00 F 690 MOV p?141+01H,R2
0004 8900 F 691 MOV p?141+02H,R1
692 ; {
693 ; SOURCE LINE # 54
0006 694 ?C0004:
695 ; while(*p)
696 ; SOURCE LINE # 55
0006 AB00 F 697 MOV R3,p?141
0008 AA00 F 698 MOV R2,p?141+01H
000A A900 F 699 MOV R1,p?141+02H
000C 120000 F 700 LCALL ?C?CLDPTR
000F FF 701 MOV R7,A
0010 EF 702 MOV A,R7
0011 6020 703 JZ ?C0008
704 ; {
705 ; SOURCE LINE # 56
0013 706 ?C0006:
707 ; while(_AsyncPutTest()==0) ;
708 ; SOURCE LINE # 57
0013 120000 F 709 LCALL _AsyncPutTest
0016 EF 710 MOV A,R7
0017 60FA 711 JZ ?C0006
0019 712 ?C0007:
713 ; _AsyncPut(*p);
714 ; SOURCE LINE # 58
0019 AB00 F 715 MOV R3,p?141
001B AA00 F 716 MOV R2,p?141+01H
001D A900 F 717 MOV R1,p?141+02H
001F 120000 F 718 LCALL ?C?CLDPTR
0022 FF 719 MOV R7,A
0023 120000 F 720 LCALL __AsyncPut
721 ; p++;
A51 MACRO ASSEMBLER SETUPMENU 12/04/2004 19:45:47 PAGE 18
722 ; SOURCE LINE # 59
0026 7401 723 MOV A,#01H
0028 2500 F 724 ADD A,p?141+02H
002A F500 F 725 MOV p?141+02H,A
002C E4 726 CLR A
002D 3500 F 727 ADDC A,p?141+01H
002F F500 F 728 MOV p?141+01H,A
729 ; }
730 ; SOURCE LINE # 60
0031 80D3 731 SJMP ?C0004
0033 732 ?C0005:
733 ; }
734 ; SOURCE LINE # 61
0033 735 ?C0008:
0033 22 736 RET
737 ; END OF _put_chars
738
739 ;
740 ; void get_chars(uchar *p,uchar len)
741
---- 742 RSEG ?PR?_get_chars?SETUPMENU
0000 743 _get_chars:
744 USING 0
745 ; SOURCE LINE # 63
0000 8B00 F 746 MOV p?242,R3
0002 8A00 F 747 MOV p?242+01H,R2
0004 8900 F 748 MOV p?242+02H,R1
0006 8D00 F 749 MOV len?243,R5
750 ; {
751 ; SOURCE LINE # 64
752 ; uchar i = 0;
753 ; SOURCE LINE # 65
0008 750000 F 754 MOV i?244,#00H
755 ; uchar TPC;
756 ;
757 ; if (len == 0) return ;
758 ; SOURCE LINE # 68
000B E500 F 759 MOV A,len?243
000D 6046 760 JZ ?C0010
000F 761 ?C0009:
000F 762 ?C0011:
763 ; while(1)
764 ; SOURCE LINE # 69
765 ; {
766 ; SOURCE LINE # 70
767 ; TPC = get_char();
768 ; SOURCE LINE # 71
000F 120000 F 769 LCALL get_char
0012 8F00 F 770 MOV TPC?245,R7
771 ; if(TPC == 0x0D)
772 ; SOURCE LINE # 72
0014 E500 F 773 MOV A,TPC?245
0016 B40D0D 774 CJNE A,#0DH,?C0013
775 ; {
776 ; SOURCE LINE # 73
777 ; *p = '\0';
778 ; SOURCE LINE # 74
0019 AB00 F 779 MOV R3,p?242
001B AA00 F 780 MOV R2,p?242+01H
001D A900 F 781 MOV R1,p?242+02H
001F E4 782 CLR A
0020 120000 F 783 LCALL ?C?CSTPTR
784 ; break;
785 ; SOURCE LINE # 75
0023 22 786 RET
787 ; }
A51 MACRO ASSEMBLER SETUPMENU 12/04/2004 19:45:47 PAGE 19
788 ; SOURCE LINE # 76
0024 80E9 789 SJMP ?C0011
0026 790 ?C0013:
791 ; else
792 ; {
793 ; SOURCE LINE # 78
794 ; *p = TPC;
795 ; SOURCE LINE # 79
0026 AB00 F 796 MOV R3,p?242
0028 AA00 F 797 MOV R2,p?242+01H
002A A900 F 798 MOV R1,p?242+02H
002C E500 F 799 MOV A,TPC?245
002E 120000 F 800 LCALL ?C?CSTPTR
801 ; p ++;
802 ; SOURCE LINE # 80
0031 7401 803 MOV A,#01H
0033 2500 F 804 ADD A,p?242+02H
0035 F500 F 805 MOV p?242+02H,A
0037 E4 806 CLR A
0038 3500 F 807 ADDC A,p?242+01H
003A F500 F 808 MOV p?242+01H,A
809 ; i ++;
810 ; SOURCE LINE # 81
003C 0500 F 811 INC i?244
812 ; if(i >= len-1)
813 ; SOURCE LINE # 82
003E E500 F 814 MOV A,len?243
0040 14 815 DEC A
0041 FF 816 MOV R7,A
0042 E500 F 817 MOV A,i?244
0044 C3 818 CLR C
0045 9F 819 SUBB A,R7
0046 40C7 820 JC ?C0011
821 ; {
822 ; SOURCE LINE # 83
823 ; *p = '\0';
824 ; SOURCE LINE # 84
0048 AB00 F 825 MOV R3,p?242
004A AA00 F 826 MOV R2,p?242+01H
004C A900 F 827 MOV R1,p?242+02H
004E E4 828 CLR A
004F 120000 F 829 LCALL ?C?CSTPTR
830 ; break;
831 ; SOURCE LINE # 85
0052 22 832 RET
833 ; }
834 ; SOURCE LINE # 86
0053 835 ?C0015:
836 ; }
837 ; SOURCE LINE # 87
0053 838 ?C0014:
839 ; }
840 ; SOURCE LINE # 88
0053 80BA 841 SJMP ?C0011
0055 842 ?C0012:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -