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

📄 para.ls1

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 LS1
📖 第 1 页 / 共 5 页
字号:
00B3 F0              870             MOVX    @DPTR,A
00B4 80A8            871             SJMP    ?C0024
00B6                 872     ?C0025:
                     873     ;     
                     874     ;     return -1;
                     875                             ; SOURCE LINE # 168
00B6                 876     ?C0072:
00B6 7EFF            877             MOV     R6,#0FFH
00B8 7FFF            878             MOV     R7,#0FFH
                     879     ; }
                     880                             ; SOURCE LINE # 169
A51 MACRO ASSEMBLER  PARA                                                                 03/13/2009 15:44:57 PAGE    15

00BA                 881     ?C0023:
00BA 22              882             RET     
                     883     ; END OF _ParaRead
                     884     
                     885     ; 
                     886     ; // parameter sector initialize
                     887     ; // return: <2 for exist, >=2 for new formated
                     888     ; unsigned char ParaMemInit(void)
                     889     
----                 890             RSEG  ?PR?ParaMemInit?PARA
0000                 891     ParaMemInit:
                     892             USING   0
                     893                             ; SOURCE LINE # 173
                     894     ; {
                     895                             ; SOURCE LINE # 174
                     896     ;     unsigned int s0head, s0flag;
                     897     ;     unsigned int s1head, s1flag;
                     898     ;     unsigned char ch = 0;
                     899                             ; SOURCE LINE # 177
0000 E4              900             CLR     A
0001 900000   F      901             MOV     DPTR,#ch?255
0004 F0              902             MOVX    @DPTR,A
                     903     ;     
                     904     ;     ComWrite("Mem initializing...\r\n", 21);
                     905                             ; SOURCE LINE # 179
0005 7BFF            906             MOV     R3,#0FFH
0007 7A00     F      907             MOV     R2,#HIGH (?SC_0)
0009 7900     F      908             MOV     R1,#LOW (?SC_0)
000B 7D15            909             MOV     R5,#015H
000D FC              910             MOV     R4,A
000E 120000   F      911             LCALL   _ComWrite
                     912     ;     
                     913     ;     s0head = FlashRdByte(ParaStart);
                     914                             ; SOURCE LINE # 181
0011 900000   F      915             MOV     DPTR,#ParaStart
0014 E4              916             CLR     A
0015 93              917             MOVC    A,@A+DPTR
0016 FE              918             MOV     R6,A
0017 7401            919             MOV     A,#01H
0019 93              920             MOVC    A,@A+DPTR
001A FF              921             MOV     R7,A
001B 120000   F      922             LCALL   _FlashRdByte
001E 900000   F      923             MOV     DPTR,#s0head?251
0021 E4              924             CLR     A
0022 F0              925             MOVX    @DPTR,A
0023 A3              926             INC     DPTR
0024 EF              927             MOV     A,R7
0025 F0              928             MOVX    @DPTR,A
                     929     ;     s0flag = FlashRdByte(ParaStart+1);
                     930                             ; SOURCE LINE # 182
0026 900000   F      931             MOV     DPTR,#ParaStart
0029 7401            932             MOV     A,#01H
002B 93              933             MOVC    A,@A+DPTR
002C 2401            934             ADD     A,#01H
002E FF              935             MOV     R7,A
002F E4              936             CLR     A
0030 93              937             MOVC    A,@A+DPTR
0031 3400            938             ADDC    A,#00H
0033 FE              939             MOV     R6,A
0034 120000   F      940             LCALL   _FlashRdByte
0037 900000   F      941             MOV     DPTR,#s0flag?252
003A E4              942             CLR     A
003B F0              943             MOVX    @DPTR,A
003C A3              944             INC     DPTR
003D EF              945             MOV     A,R7
003E F0              946             MOVX    @DPTR,A
A51 MACRO ASSEMBLER  PARA                                                                 03/13/2009 15:44:57 PAGE    16

                     947     ;     s1head = FlashRdByte(ParaStart+SECTOR_SIZE);
                     948                             ; SOURCE LINE # 183
003F 900000   F      949             MOV     DPTR,#ParaStart
0042 7401            950             MOV     A,#01H
0044 93              951             MOVC    A,@A+DPTR
0045 2480            952             ADD     A,#080H
0047 FF              953             MOV     R7,A
0048 E4              954             CLR     A
0049 93              955             MOVC    A,@A+DPTR
004A 3400            956             ADDC    A,#00H
004C FE              957             MOV     R6,A
004D 120000   F      958             LCALL   _FlashRdByte
0050 900000   F      959             MOV     DPTR,#s1head?253
0053 E4              960             CLR     A
0054 F0              961             MOVX    @DPTR,A
0055 A3              962             INC     DPTR
0056 EF              963             MOV     A,R7
0057 F0              964             MOVX    @DPTR,A
                     965     ;     s1flag = FlashRdByte(ParaStart+SECTOR_SIZE+1);
                     966                             ; SOURCE LINE # 184
0058 900000   F      967             MOV     DPTR,#ParaStart
005B 7401            968             MOV     A,#01H
005D 93              969             MOVC    A,@A+DPTR
005E 2481            970             ADD     A,#081H
0060 FF              971             MOV     R7,A
0061 E4              972             CLR     A
0062 93              973             MOVC    A,@A+DPTR
0063 3400            974             ADDC    A,#00H
0065 FE              975             MOV     R6,A
0066 120000   F      976             LCALL   _FlashRdByte
0069 900000   F      977             MOV     DPTR,#s1flag?254
006C E4              978             CLR     A
006D F0              979             MOVX    @DPTR,A
006E A3              980             INC     DPTR
006F EF              981             MOV     A,R7
0070 F0              982             MOVX    @DPTR,A
                     983     ;     
                     984     ;     checkhead:
                     985                             ; SOURCE LINE # 186
0071                 986     ?ParaMemInit?checkhead:
                     987     ;     // check sector 0
                     988     ;     if(s0head != PARA_HEAD)
                     989                             ; SOURCE LINE # 188
0071 900000   F      990             MOV     DPTR,#s0head?251
0074 E0              991             MOVX    A,@DPTR
0075 7004            992             JNZ     ?C0055
0077 A3              993             INC     DPTR
0078 E0              994             MOVX    A,@DPTR
0079 6455            995             XRL     A,#055H
007B                 996     ?C0055:
007B 6048            997             JZ      ?C0031
                     998     ;     {
                     999                             ; SOURCE LINE # 189
                    1000     ;         FlashErSector(ParaStart);
                    1001                             ; SOURCE LINE # 190
007D 900000   F     1002             MOV     DPTR,#ParaStart
0080 E4             1003             CLR     A
0081 93             1004             MOVC    A,@A+DPTR
0082 FE             1005             MOV     R6,A
0083 7401           1006             MOV     A,#01H
0085 93             1007             MOVC    A,@A+DPTR
0086 FF             1008             MOV     R7,A
0087 120000   F     1009             LCALL   _FlashErSector
                    1010     ;         FlashWrByte(ParaStart, PARA_HEAD);
                    1011                             ; SOURCE LINE # 191
008A 900000   F     1012             MOV     DPTR,#ParaStart
A51 MACRO ASSEMBLER  PARA                                                                 03/13/2009 15:44:57 PAGE    17

008D E4             1013             CLR     A
008E 93             1014             MOVC    A,@A+DPTR
008F FE             1015             MOV     R6,A
0090 7401           1016             MOV     A,#01H
0092 93             1017             MOVC    A,@A+DPTR
0093 FF             1018             MOV     R7,A
0094 7D55           1019             MOV     R5,#055H
0096 120000   F     1020             LCALL   _FlashWrByte
                    1021     ;         s0flag = FlashRdByte(ParaStart+1);
                    1022                             ; SOURCE LINE # 192
0099 900000   F     1023             MOV     DPTR,#ParaStart
009C 7401           1024             MOV     A,#01H
009E 93             1025             MOVC    A,@A+DPTR
009F 2401           1026             ADD     A,#01H
00A1 FF             1027             MOV     R7,A
00A2 E4             1028             CLR     A
00A3 93             1029             MOVC    A,@A+DPTR
00A4 3400           1030             ADDC    A,#00H
00A6 FE             1031             MOV     R6,A
00A7 120000   F     1032             LCALL   _FlashRdByte
00AA 900000   F     1033             MOV     DPTR,#s0flag?252
00AD E4             1034             CLR     A
00AE F0             1035             MOVX    @DPTR,A
00AF A3             1036             INC     DPTR
00B0 EF             1037             MOV     A,R7
00B1 F0             1038             MOVX    @DPTR,A
                    1039     ;         ch ++;
                    1040                             ; SOURCE LINE # 193
00B2 900000   F     1041             MOV     DPTR,#ch?255
00B5 E0             1042             MOVX    A,@DPTR
00B6 04             1043             INC     A
00B7 F0             1044             MOVX    @DPTR,A
                    1045     ;         ComWrite("S0 empty.\r\n", 11);
                    1046                             ; SOURCE LINE # 194
00B8 7BFF           1047             MOV     R3,#0FFH
00BA 7A00     F     1048             MOV     R2,#HIGH (?SC_22)
00BC 7900     F     1049             MOV     R1,#LOW (?SC_22)
00BE 7D0B           1050             MOV     R5,#0BH
00C0 7C00           1051             MOV     R4,#00H
00C2 120000   F     1052             LCALL   _ComWrite
                    1053     ;     }
                    1054                             ; SOURCE LINE # 195
00C5                1055     ?C0031:
                    1056     ;     
                    1057     ;     // check sector 1
                    1058     ;     if(s1head != PARA_HEAD)
                    1059                             ; SOURCE LINE # 198
00C5 900000   F     1060             MOV     DPTR,#s1head?253
00C8 E0             1061             MOVX    A,@DPTR
00C9 7004           1062             JNZ     ?C0056
00CB A3             1063             INC     DPTR
00CC E0             1064             MOVX    A,@DPTR
00CD 6455           1065             XRL     A,#055H
00CF                1066     ?C0056:
00CF 604E           1067             JZ      ?C0032
                    1068     ;     {
                    1069                             ; SOURCE LINE # 199
                    1070     ;         FlashErSector(ParaStart+SECTOR_SIZE);
                    1071                             ; SOURCE LINE # 200
00D1 900000   F     1072             MOV     DPTR,#ParaStart
00D4 7401           1073             MOV     A,#01H
00D6 93             1074             MOVC    A,@A+DPTR
00D7 2480           1075             ADD     A,#080H
00D9 FF             1076             MOV     R7,A
00DA E4             1077             CLR     A
00DB 93             1078             MOVC    A,@A+DPTR
A51 MACRO ASSEMBLER  PARA                                                                 03/13/2009 15:44:57 PAGE    18

00DC 3400           1079             ADDC    A,#00H
00DE FE             1080             MOV     R6,A
00DF 120000   F     1081             LCALL   _FlashErSector
                    1082     ;         FlashWrByte(ParaStart+SECTOR_SIZE, PARA_HEAD);
                    1083                             ; SOURCE LINE # 201
00E2 900000   F     1084             MOV     DPTR,#ParaStart
00E5 7401           1085             MOV     A,#01H
00E7 93             1086             MOVC    A,@A+DPTR
00E8 2480           1087             ADD     A,#080H
00EA FF             1088             MOV     R7,A
00EB E4             1089             CLR     A
00EC 93             1090             MOVC    A,@A+DPTR
00ED 3400           1091             ADDC    A,#00H
00EF FE             1092             MOV     R6,A
00F0 7D55           1093             MOV     R5,#055H
00F2 120000   F 

⌨️ 快捷键说明

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