⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mifare1.ls1

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 LS1
📖 第 1 页 / 共 5 页
字号:
0027 120000   F      884             LCALL   ?C?CLDOPTR
002A 900000   F      885             MOV     DPTR,#m1sector?262
002D F0              886             MOVX    @DPTR,A
                     887     ;     m1block = cmd[3];
                     888                             ; SOURCE LINE # 176
002E 900003          889             MOV     DPTR,#03H
0031 120000   F      890             LCALL   ?C?CLDOPTR
0034 900000   F      891             MOV     DPTR,#m1block?263
0037 F0              892             MOVX    @DPTR,A
                     893     ;     m1data = cmd + 4;
                     894                             ; SOURCE LINE # 177
0038 E9              895             MOV     A,R1
0039 2404            896             ADD     A,#04H
003B F9              897             MOV     R1,A
003C E4              898             CLR     A
003D 3A              899             ADDC    A,R2
003E FA              900             MOV     R2,A
003F 900000   F      901             MOV     DPTR,#m1data?269
0042 EB              902             MOV     A,R3
0043 F0              903             MOVX    @DPTR,A
0044 A3              904             INC     DPTR
0045 EA              905             MOV     A,R2
0046 F0              906             MOVX    @DPTR,A
0047 A3              907             INC     DPTR
0048 E9              908             MOV     A,R1
0049 F0              909             MOVX    @DPTR,A
                     910     ;     
                     911     ;     ///////////////////////////////////////
                     912     ;     // request card!
                     913     ;     if(!M1Search(snr))
                     914                             ; SOURCE LINE # 181
A51 MACRO ASSEMBLER  MIFARE1                                                              03/13/2009 15:44:56 PAGE    15

004A 120000   F      915             LCALL   L?0267
004D 4023            916             JC      ?C0021
                     917     ;     {
                     918                             ; SOURCE LINE # 182
                     919     ;         // error
                     920     ;         cmd[0] = FAIL;
                     921                             ; SOURCE LINE # 184
004F 900000   F      922             MOV     DPTR,#cmd?245
0052 E0              923             MOVX    A,@DPTR
0053 FB              924             MOV     R3,A
0054 A3              925             INC     DPTR
0055 E0              926             MOVX    A,@DPTR
0056 FA              927             MOV     R2,A
0057 A3              928             INC     DPTR
0058 E0              929             MOVX    A,@DPTR
0059 F9              930             MOV     R1,A
005A 7401            931             MOV     A,#01H
005C 120000   F      932             LCALL   ?C?CSTPTR
                     933     ;         cmd[1] = MI_NOTAGERR;
                     934                             ; SOURCE LINE # 185
005F 900000   F      935             MOV     DPTR,#cmd?245
0062 E0              936             MOVX    A,@DPTR
0063 FB              937             MOV     R3,A
0064 A3              938             INC     DPTR
0065 E0              939             MOVX    A,@DPTR
0066 FA              940             MOV     R2,A
0067 A3              941             INC     DPTR
0068 E0              942             MOVX    A,@DPTR
0069 F9              943             MOV     R1,A
006A 900001          944             MOV     DPTR,#01H
006D 7401            945             MOV     A,#01H
                     946     ;         return 2;
                     947                             ; SOURCE LINE # 186
006F 020000   F      948             LJMP    ?C0246
                     949     ;     }
                     950                             ; SOURCE LINE # 187
0072                 951     ?C0021:
                     952     ;     
                     953     ;     if(cmd[1] == CMD_GETSNR)       // get card snr
                     954                             ; SOURCE LINE # 189
0072 900000   F      955             MOV     DPTR,#cmd?245
0075 E0              956             MOVX    A,@DPTR
0076 FB              957             MOV     R3,A
0077 A3              958             INC     DPTR
0078 E0              959             MOVX    A,@DPTR
0079 FA              960             MOV     R2,A
007A A3              961             INC     DPTR
007B E0              962             MOVX    A,@DPTR
007C F9              963             MOV     R1,A
007D 900001          964             MOV     DPTR,#01H
0080 120000   F      965             LCALL   ?C?CLDOPTR
0083 7039            966             JNZ     ?C0023
                     967     ;     {
                     968                             ; SOURCE LINE # 190
                     969     ;         if(len != 2)
                     970                             ; SOURCE LINE # 191
0085 900000   F      971             MOV     DPTR,#len?246
0088 E0              972             MOVX    A,@DPTR
0089 7004            973             JNZ     ?C0184
008B A3              974             INC     DPTR
008C E0              975             MOVX    A,@DPTR
008D 6402            976             XRL     A,#02H
008F                 977     ?C0184:
008F 6003            978             JZ      ?C0024
                     979     ;         {
                     980                             ; SOURCE LINE # 192
A51 MACRO ASSEMBLER  MIFARE1                                                              03/13/2009 15:44:56 PAGE    16

                     981     ;             cmd[0] = ERRORCMDLEN;
                     982                             ; SOURCE LINE # 193
                     983     ;             return 1;
                     984                             ; SOURCE LINE # 194
0091 020000   F      985             LJMP    ?C0250
                     986     ;         }
                     987                             ; SOURCE LINE # 195
0094                 988     ?C0024:
                     989     ;         
                     990     ;         // copy snr to cmd
                     991     ;         cmd[0] = SUCCESS;
                     992                             ; SOURCE LINE # 198
0094 E4              993             CLR     A
0095 120000   F      994             LCALL   ?C?CSTPTR
                     995     ;         memcpy(cmd+1, snr, 4);
                     996                             ; SOURCE LINE # 199
0098 900000   F      997             MOV     DPTR,#cmd?245
009B E0              998             MOVX    A,@DPTR
009C FB              999             MOV     R3,A
009D A3             1000             INC     DPTR
009E E0             1001             MOVX    A,@DPTR
009F FA             1002             MOV     R2,A
00A0 A3             1003             INC     DPTR
00A1 E0             1004             MOVX    A,@DPTR
00A2 2401           1005             ADD     A,#01H
00A4 F9             1006             MOV     R1,A
00A5 E4             1007             CLR     A
00A6 3A             1008             ADDC    A,R2
00A7 C8             1009             XCH     A,R0
00A8 E9             1010             MOV     A,R1
00A9 C8             1011             XCH     A,R0
00AA FC             1012             MOV     R4,A
00AB CD             1013             XCH     A,R5
00AC EB             1014             MOV     A,R3
00AD CD             1015             XCH     A,R5
00AE 7B01           1016             MOV     R3,#01H
00B0 7A00     F     1017             MOV     R2,#HIGH (snr)
00B2 7900     F     1018             MOV     R1,#LOW (snr)
00B4 7E00           1019             MOV     R6,#00H
00B6 7F04           1020             MOV     R7,#04H
00B8 120000   F     1021             LCALL   ?C?COPY
                    1022     ;         return 5;
                    1023                             ; SOURCE LINE # 200
00BB 020000   F     1024             LJMP    ?C0249
                    1025     ;     }
                    1026                             ; SOURCE LINE # 201
00BE                1027     ?C0023:
                    1028     ;     
                    1029     ;     if(cmd[1] == CMD_AUTH)    // auth card with specified key
                    1030                             ; SOURCE LINE # 203
00BE 900000   F     1031             MOV     DPTR,#cmd?245
00C1 E0             1032             MOVX    A,@DPTR
00C2 FB             1033             MOV     R3,A
00C3 A3             1034             INC     DPTR
00C4 E0             1035             MOVX    A,@DPTR
00C5 FA             1036             MOV     R2,A
00C6 A3             1037             INC     DPTR
00C7 E0             1038             MOVX    A,@DPTR
00C8 F9             1039             MOV     R1,A
00C9 900001         1040             MOV     DPTR,#01H
00CC 120000   F     1041             LCALL   ?C?CLDOPTR
00CF 6401           1042             XRL     A,#01H
00D1 7042           1043             JNZ     ?C0025
                    1044     ;     {
                    1045                             ; SOURCE LINE # 204
                    1046     ;         if(len != 10)
A51 MACRO ASSEMBLER  MIFARE1                                                              03/13/2009 15:44:56 PAGE    17

                    1047                             ; SOURCE LINE # 205
00D3 900000   F     1048             MOV     DPTR,#len?246
00D6 E0             1049             MOVX    A,@DPTR
00D7 7004           1050             JNZ     ?C0185
00D9 A3             1051             INC     DPTR
00DA E0             1052             MOVX    A,@DPTR
00DB 640A           1053             XRL     A,#0AH
00DD                1054     ?C0185:
00DD 6003           1055             JZ      ?C0026
                    1056     ;         {
                    1057                             ; SOURCE LINE # 206
                    1058     ;             cmd[0] = ERRORCMDLEN;
                    1059                             ; SOURCE LINE # 207
00DF                1060     ?C0207:
                    1061     ;             return 1;
                    1062                             ; SOURCE LINE # 208
00DF 020000   F     1063             LJMP    ?C0250
                    1064     ;         }
                    1065                             ; SOURCE LINE # 209
00E2                1066     ?C0026:
                    1067     ;         
                    1068     ;         m1sector &= 0x7f;       // mask the invalid msb
                    1069                             ; SOURCE LINE # 211
00E2 900000   F     1070             MOV     DPTR,#m1sector?262
00E5 E0             1071             MOVX    A,@DPTR
00E6 547F           1072             ANL     A,#07FH
00E8 F0             1073             MOVX    @DPTR,A
00E9 FE             1074             MOV     R6,A
                    1075     ;         i = M1Auth(m1block, m1data, m1sector);
                    1076                             ; SOURCE LINE # 212
00EA A3             1077             INC     DPTR
00EB E0             1078             MOVX    A,@DPTR
00EC FF             1079             MOV     R7,A
00ED 900000   F     1080             MOV     DPTR,#m1data?269
00F0 E0             1081             MOVX    A,@DPTR
00F1 FB             1082             MOV     R3,A
00F2 A3             1083             INC     DPTR
00F3 E0             1084             MOVX    A,@DPTR
00F4 FA             1085             MOV     R2,A
00F5 A3             1086             INC     DPTR
00F6 E0             1087             MOVX    A,@DPTR
00F7 F9             1088             MOV     R1,A
00F8 900000   F     1089             MOV     DPTR,#?_M1Auth?BYTE+04H
00FB EE             1090             MOV     A,R6
00FC F0             1091             MOVX    @DPTR,A
00FD 120000   F     1092             LCALL   _M1Auth
0100 7E00           1093             MOV     R6,#00H
0102 900000   F     1094             MOV     DPTR,#i?270
0105 EE             1095             MOV     A,R6
0106 F0             1096             MOVX    @DPTR,A
0107 A3             1097             INC     DPTR
0108 EF             1098             MOV     A,R7
0109 F0             1099             MOVX    @DPTR,A
                    1100     ;         if(MI_OK != i)
                    1101                             ; SOURCE LINE # 213
010A 900000   F     1102             MOV     DPTR,#cmd?245
010D 6003           1103             JZ      ?C0027
                    1104     ;         {
                    1105                             ; SOURCE LINE # 214
                    1106     ;             cmd[0] = FAIL;
             

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -