at88153.ls1
来自「mifarea卡程序mifarea卡程序mifarea卡程序」· LS1 代码 · 共 1,191 行 · 第 1/5 页
LS1
1,191 行
0014 E0 686 MOVX A,@DPTR
0015 5407 687 ANL A,#07H
0017 FF 688 MOV R7,A
0018 120000 F 689 LCALL _IccSyncPutCharWaitACK
001B 4005 690 JC ?C0021
691 ; return -2;
692 ; SOURCE LINE # 89
001D 7EFF 693 MOV R6,#0FFH
001F 7FFE 694 MOV R7,#0FEH
0021 22 695 RET
0022 696 ?C0021:
697 ; IccSyncStop();
698 ; SOURCE LINE # 90
0022 120000 F 699 LCALL IccSyncStop
700 ;
701 ; return 0;
702 ; SOURCE LINE # 92
0025 E4 703 CLR A
0026 FE 704 MOV R6,A
0027 FF 705 MOV R7,A
706 ; }
707 ; SOURCE LINE # 93
0028 708 ?C0020:
0028 22 709 RET
710 ; END OF _At153WriteFS
711
712 ;
713 ; int At153VerifyPasswd(unsigned char rp, unsigned char *buf)
714
---- 715 RSEG ?PR?_At153VerifyPasswd?AT88153
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 12
0000 716 _At153VerifyPasswd:
717 USING 0
718 ; SOURCE LINE # 95
0000 900000 F 719 MOV DPTR,#buf?454
0003 EB 720 MOV A,R3
0004 F0 721 MOVX @DPTR,A
0005 A3 722 INC DPTR
0006 EA 723 MOV A,R2
0007 F0 724 MOVX @DPTR,A
0008 A3 725 INC DPTR
0009 E9 726 MOV A,R1
000A F0 727 MOVX @DPTR,A
000B 900000 F 728 MOV DPTR,#rp?453
000E EF 729 MOV A,R7
000F F0 730 MOVX @DPTR,A
731 ; {
732 ; SOURCE LINE # 96
733 ; unsigned char i, j, pac, zone;
734 ;
735 ; rp &= 0x03;
736 ; SOURCE LINE # 99
0010 5403 737 ANL A,#03H
0012 F0 738 MOVX @DPTR,A
739 ; zone = rp << 2;
740 ; SOURCE LINE # 100
0013 E0 741 MOVX A,@DPTR
0014 25E0 742 ADD A,ACC
0016 25E0 743 ADD A,ACC
0018 900000 F 744 MOV DPTR,#zone?458
001B F0 745 MOVX @DPTR,A
746 ; zone |= 0xb3;
747 ; SOURCE LINE # 101
001C 44B3 748 ORL A,#0B3H
001E F0 749 MOVX @DPTR,A
750 ;
751 ; for(i=0; i<2; i++)
752 ; SOURCE LINE # 103
001F E4 753 CLR A
0020 900000 F 754 MOV DPTR,#i?455
0023 F0 755 MOVX @DPTR,A
0024 756 ?C0022:
757 ; {
758 ; SOURCE LINE # 104
759 ; if(!At153Command(zone))
760 ; SOURCE LINE # 105
0024 900000 F 761 MOV DPTR,#zone?458
0027 E0 762 MOVX A,@DPTR
0028 FF 763 MOV R7,A
0029 120000 F 764 LCALL _At153Command
002C 4005 765 JC ?C0025
766 ; return -1;
767 ; SOURCE LINE # 106
002E 7EFF 768 MOV R6,#0FFH
0030 7FFF 769 MOV R7,#0FFH
0032 22 770 RET
0033 771 ?C0025:
772 ;
773 ; for(j=0; j<3; j++)
774 ; SOURCE LINE # 108
0033 E4 775 CLR A
0034 900000 F 776 MOV DPTR,#j?456
0037 F0 777 MOVX @DPTR,A
0038 778 ?C0027:
0038 900000 F 779 MOV DPTR,#j?456
003B E0 780 MOVX A,@DPTR
003C FF 781 MOV R7,A
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 13
003D C3 782 CLR C
003E 9403 783 SUBB A,#03H
0040 5026 784 JNC ?C0028
785 ; {
786 ; SOURCE LINE # 109
787 ; if(!IccSyncPutCharWaitACK(buf[j]))
788 ; SOURCE LINE # 110
0042 900000 F 789 MOV DPTR,#buf?454
0045 E0 790 MOVX A,@DPTR
0046 FB 791 MOV R3,A
0047 A3 792 INC DPTR
0048 E0 793 MOVX A,@DPTR
0049 FA 794 MOV R2,A
004A A3 795 INC DPTR
004B E0 796 MOVX A,@DPTR
004C F9 797 MOV R1,A
004D 8F82 798 MOV DPL,R7
004F 758300 799 MOV DPH,#00H
0052 120000 F 800 LCALL ?C?CLDOPTR
0055 FF 801 MOV R7,A
0056 120000 F 802 LCALL _IccSyncPutCharWaitACK
0059 4005 803 JC ?C0029
804 ; return -2;
805 ; SOURCE LINE # 111
005B 7EFF 806 MOV R6,#0FFH
005D 7FFE 807 MOV R7,#0FEH
005F 22 808 RET
809 ; }
810 ; SOURCE LINE # 112
0060 811 ?C0029:
0060 900000 F 812 MOV DPTR,#j?456
0063 E0 813 MOVX A,@DPTR
0064 04 814 INC A
0065 F0 815 MOVX @DPTR,A
0066 80D0 816 SJMP ?C0027
0068 817 ?C0028:
818 ; IccSyncStop();
819 ; SOURCE LINE # 113
0068 120000 F 820 LCALL IccSyncStop
821 ;
822 ; // polling ACK with command 0xbd to read PAC in cfg zone
823 ; if(At153ReadEE(3, PACAddrs[rp], &pac, 1) < 0)
824 ; SOURCE LINE # 116
006B 900000 F 825 MOV DPTR,#rp?453
006E E0 826 MOVX A,@DPTR
006F 2400 F 827 ADD A,#LOW (PACAddrs)
0071 F582 828 MOV DPL,A
0073 E4 829 CLR A
0074 3400 F 830 ADDC A,#HIGH (PACAddrs)
0076 F583 831 MOV DPH,A
0078 E0 832 MOVX A,@DPTR
0079 FD 833 MOV R5,A
007A 7B01 834 MOV R3,#01H
007C 7A00 F 835 MOV R2,#HIGH (pac?457)
007E 7900 F 836 MOV R1,#LOW (pac?457)
0080 900000 F 837 MOV DPTR,#?_At153ReadEE?BYTE+05H
0083 7401 838 MOV A,#01H
0085 F0 839 MOVX @DPTR,A
0086 7F03 840 MOV R7,#03H
0088 120000 F 841 LCALL _At153ReadEE
008B C3 842 CLR C
008C EE 843 MOV A,R6
008D 6480 844 XRL A,#080H
008F 9480 845 SUBB A,#080H
0091 5005 846 JNC ?C0024
847 ; return -3;
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 14
848 ; SOURCE LINE # 117
0093 7EFF 849 MOV R6,#0FFH
0095 7FFD 850 MOV R7,#0FDH
0097 22 851 RET
852 ; }
853 ; SOURCE LINE # 118
0098 854 ?C0024:
0098 900000 F 855 MOV DPTR,#i?455
009B E0 856 MOVX A,@DPTR
009C 04 857 INC A
009D F0 858 MOVX @DPTR,A
009E E0 859 MOVX A,@DPTR
009F C3 860 CLR C
00A0 9402 861 SUBB A,#02H
00A2 4080 862 JC ?C0022
00A4 863 ?C0023:
864 ;
865 ; return pac;
866 ; SOURCE LINE # 120
00A4 900000 F 867 MOV DPTR,#pac?457
00A7 E0 868 MOVX A,@DPTR
00A8 FF 869 MOV R7,A
00A9 7E00 870 MOV R6,#00H
871 ; }
872 ; SOURCE LINE # 121
00AB 873 ?C0026:
00AB 22 874 RET
875 ; END OF _At153VerifyPasswd
876
877 ;
878 ; int At153InitAuth(unsigned char *buf)
879
---- 880 RSEG ?PR?_At153InitAuth?AT88153
0000 881 _At153InitAuth:
882 USING 0
883 ; SOURCE LINE # 123
0000 900000 F 884 MOV DPTR,#buf?559
0003 EB 885 MOV A,R3
0004 F0 886 MOVX @DPTR,A
0005 A3 887 INC DPTR
0006 EA 888 MOV A,R2
0007 F0 889 MOVX @DPTR,A
0008 A3 890 INC DPTR
0009 E9 891 MOV A,R1
000A F0 892 MOVX @DPTR,A
893 ; {
894 ; SOURCE LINE # 124
895 ; unsigned char i;
896 ;
897 ; if(!At153Command(0xb2))
898 ; SOURCE LINE # 127
000B 7FB2 899 MOV R7,#0B2H
000D 120000 F 900 LCALL _At153Command
0010 4005 901 JC ?C0032
902 ; return -1;
903 ; SOURCE LINE # 128
0012 7EFF 904 MOV R6,#0FFH
0014 7FFF 905 MOV R7,#0FFH
0016 22 906 RET
0017 907 ?C0032:
908 ;
909 ; for(i=0; i<8; i++)
910 ; SOURCE LINE # 130
0017 E4 911 CLR A
0018 900000 F 912 MOV DPTR,#i?560
001B F0 913 MOVX @DPTR,A
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 15
001C 914 ?C0034:
001C 900000 F 915 MOV DPTR,#i?560
001F E0 916 MOVX A,@DPTR
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?