sle4442.ls1

来自「mifarea卡程序mifarea卡程序mifarea卡程序」· LS1 代码 · 共 941 行 · 第 1/4 页

LS1
941
字号
                     451     ;     // send another clock puls
                     452     ;     IccSyncClock();
                     453                             ; SOURCE LINE # 50
A51 MACRO ASSEMBLER  SLE4442                                                              03/13/2009 15:44:59 PAGE     8

003D 020000   F      454             LJMP    IccSyncClock
                     455     ; END OF _Sle4442ReadProtectMem
                     456     
                     457     ; }
                     458     ; 
                     459     ; // write protect memory
                     460     ; void Sle4442WriteProtectMem(unsigned char address, unsigned char val)
                     461     
----                 462             RSEG  ?PR?_Sle4442WriteProtectMem?SLE4442
0000                 463     _Sle4442WriteProtectMem:
                     464             USING   0
                     465                             ; SOURCE LINE # 54
                     466     ;---- Variable 'val?348' assigned to Register 'R6' ----
0000 CE              467             XCH     A,R6
0001 ED              468             MOV     A,R5
0002 CE              469             XCH     A,R6
                     470     ;---- Variable 'address?347' assigned to Register 'R7' ----
                     471     ; {
                     472                             ; SOURCE LINE # 55
                     473     ;     // send command
                     474     ;     Sle4442Command(0x3c, address, val);
                     475                             ; SOURCE LINE # 57
0003 CD              476             XCH     A,R5
0004 EF              477             MOV     A,R7
0005 CD              478             XCH     A,R5
0006 CF              479             XCH     A,R7
0007 EE              480             MOV     A,R6
0008 CF              481             XCH     A,R7
0009 CB              482             XCH     A,R3
000A EF              483             MOV     A,R7
000B CB              484             XCH     A,R3
000C 7F3C            485             MOV     R7,#03CH
000E 120000   F      486             LCALL   _Sle4442Command
                     487     ;     // polling io
                     488     ;     IccSyncPollingIO(50);
                     489                             ; SOURCE LINE # 59
0011 7F32            490             MOV     R7,#032H
0013 7E00            491             MOV     R6,#00H
0015 020000   F      492             LJMP    _IccSyncPollingIO
                     493     ; END OF _Sle4442WriteProtectMem
                     494     
                     495     ; }
                     496     ; 
                     497     ; // read 4 bytes
                     498     ; void Sle4442ReadSecurityMem(unsigned char *buf)
                     499     
----                 500             RSEG  ?PR?_Sle4442ReadSecurityMem?SLE4442
0000                 501     _Sle4442ReadSecurityMem:
                     502             USING   0
                     503                             ; SOURCE LINE # 63
0000 900000   F      504             MOV     DPTR,#buf?449
0003 EB              505             MOV     A,R3
0004 F0              506             MOVX    @DPTR,A
0005 A3              507             INC     DPTR
0006 EA              508             MOV     A,R2
0007 F0              509             MOVX    @DPTR,A
0008 A3              510             INC     DPTR
0009 E9              511             MOV     A,R1
000A F0              512             MOVX    @DPTR,A
                     513     ; {
                     514                             ; SOURCE LINE # 64
                     515     ;     unsigned char ci;
                     516     ;     
                     517     ;     // send command
                     518     ;     Sle4442Command(0x31, 0x00, 0x00);
                     519                             ; SOURCE LINE # 68
A51 MACRO ASSEMBLER  SLE4442                                                              03/13/2009 15:44:59 PAGE     9

000B E4              520             CLR     A
000C FB              521             MOV     R3,A
000D FD              522             MOV     R5,A
000E 7F31            523             MOV     R7,#031H
0010 120000   F      524             LCALL   _Sle4442Command
                     525     ;     // read data
                     526     ;     for(ci=0; ci<4; ci++)
                     527                             ; SOURCE LINE # 70
0013 E4              528             CLR     A
0014 900000   F      529             MOV     DPTR,#ci?450
0017 F0              530             MOVX    @DPTR,A
0018                 531     ?C0011:
                     532     ;     {
                     533                             ; SOURCE LINE # 71
                     534     ;         buf[ci] = IccSyncGetChar();
                     535                             ; SOURCE LINE # 72
0018 120000   F      536             LCALL   IccSyncGetChar
001B 900000   F      537             MOV     DPTR,#buf?449
001E E0              538             MOVX    A,@DPTR
001F FB              539             MOV     R3,A
0020 A3              540             INC     DPTR
0021 E0              541             MOVX    A,@DPTR
0022 FA              542             MOV     R2,A
0023 A3              543             INC     DPTR
0024 E0              544             MOVX    A,@DPTR
0025 F9              545             MOV     R1,A
0026 A3              546             INC     DPTR
0027 E0              547             MOVX    A,@DPTR
0028 F582            548             MOV     DPL,A
002A 758300          549             MOV     DPH,#00H
002D EF              550             MOV     A,R7
002E 120000   F      551             LCALL   ?C?CSTOPTR
                     552     ;     }
                     553                             ; SOURCE LINE # 73
0031 900000   F      554             MOV     DPTR,#ci?450
0034 E0              555             MOVX    A,@DPTR
0035 04              556             INC     A
0036 F0              557             MOVX    @DPTR,A
0037 E0              558             MOVX    A,@DPTR
0038 C3              559             CLR     C
0039 9404            560             SUBB    A,#04H
003B 40DB            561             JC      ?C0011
003D                 562     ?C0012:
                     563     ;     // send another clock puls
                     564     ;     IccSyncClock();
                     565                             ; SOURCE LINE # 75
003D 020000   F      566             LJMP    IccSyncClock
                     567     ; END OF _Sle4442ReadSecurityMem
                     568     
                     569     ; }
                     570     ; 
                     571     ; // update 
                     572     ; void Sle4442WriteSecurityMem(unsigned char address, unsigned char val)
                     573     
----                 574             RSEG  ?PR?_Sle4442WriteSecurityMem?SLE4442
0000                 575     _Sle4442WriteSecurityMem:
                     576             USING   0
                     577                             ; SOURCE LINE # 79
                     578     ;---- Variable 'val?552' assigned to Register 'R6' ----
0000 CE              579             XCH     A,R6
0001 ED              580             MOV     A,R5
0002 CE              581             XCH     A,R6
                     582     ;---- Variable 'address?551' assigned to Register 'R7' ----
                     583     ; {
                     584                             ; SOURCE LINE # 80
                     585     ;     // send command
A51 MACRO ASSEMBLER  SLE4442                                                              03/13/2009 15:44:59 PAGE    10

                     586     ;     Sle4442Command(0x39, address, val);
                     587                             ; SOURCE LINE # 82
0003 CD              588             XCH     A,R5
0004 EF              589             MOV     A,R7
0005 CD              590             XCH     A,R5
0006 CF              591             XCH     A,R7
0007 EE              592             MOV     A,R6
0008 CF              593             XCH     A,R7
0009 CB              594             XCH     A,R3
000A EF              595             MOV     A,R7
000B CB              596             XCH     A,R3
000C 7F39            597             MOV     R7,#039H
000E 120000   F      598             LCALL   _Sle4442Command
                     599     ;     // polling io
                     600     ;     IccSyncPollingIO(50);
                     601                             ; SOURCE LINE # 84
0011 7F32            602             MOV     R7,#032H
0013 7E00            603             MOV     R6,#00H
0015 020000   F      604             LJMP    _IccSyncPollingIO
                     605     ; END OF _Sle4442WriteSecurityMem
                     606     
                     607     ; }
                     608     ; 
                     609     ; // verify
                     610     ; void Sle4442Verify(unsigned char address, unsigned char val)
                     611     
----                 612             RSEG  ?PR?_Sle4442Verify?SLE4442
0000                 613     _Sle4442Verify:
                     614             USING   0
                     615                             ; SOURCE LINE # 88
                     616     ;---- Variable 'val?654' assigned to Register 'R6' ----
0000 CE              617             XCH     A,R6
0001 ED              618             MOV     A,R5
0002 CE              619             XCH     A,R6
                     620     ;---- Variable 'address?653' assigned to Register 'R7' ----
                     621     ; {
                     622                             ; SOURCE LINE # 89
                     623     ;     // send command
                     624     ;     Sle4442Command(0x33, address, val);
                     625                             ; SOURCE LINE # 91
0003 CD              626             XCH     A,R5
0004 EF              627             MOV     A,R7
0005 CD              628             XCH     A,R5
0006 CF              629             XCH     A,R7
0007 EE              630             MOV     A,R6
0008 CF              631             XCH     A,R7
0009 CB              632             XCH     A,R3
000A EF              633             MOV     A,R7
000B CB              634             XCH     A,R3
000C 7F33            635             MOV     R7,#033H
000E 120000   F      636             LCALL   _Sle4442Command
                     637     ;     // polling io
                     638     ;     IccSyncPollingIO(50);
                     639                             ; SOURCE LINE # 93
0011 7F32            640             MOV     R7,#032H
0013 7E00            641             MOV     R6,#00H
0015 020000   F      642             LJMP    _IccSyncPollingIO
                     643     ; END OF _Sle4442Verify
                     644     
                     645     ; }
                     646     ; 
                     647     ; void Sle4442Command(unsigned char cmd, unsigned char addr, unsigned char da)
                     648     
----                 649             RSEG  ?PR?_Sle4442Command?SLE4442
0000                 650     _Sle4442Command:
                     651             USING   0
A51 MACRO ASSEMBLER  SLE4442                                                              03/13/2009 15:44:59 PAGE    11

                     652                             ; SOURCE LINE # 96
0000 900000   F      653             MOV     DPTR,#cmd?755
0003 EF              654             MOV     A,R7
0004 F0              655             MOVX    @DPTR,A
0005 A3              656             INC     DPTR
0006 ED              657             MOV     A,R5
0007 F0              658             MOVX    @DPTR,A
0008 A3              659             INC     DPTR
0009 EB              660             MOV     A,R3
000A F0              661             MOVX    @DPTR,A
                     662     ; {
                     663                             ; SOURCE LINE # 97
                     664     ;     IccSyncStart();
                     665                             ; SOURCE LINE # 98
000B 120000   F      666             LCALL   IccSyncStart
                     667     ;     IccSyncPutChar(cmd);
                     668                             ; SOURCE LINE # 99
000E 900000   F      669             MOV     DPTR,#cmd?755
0011 E0              670             MOVX    A,@DPTR
0012 FF              671             MOV     R7,A
0013 120000   F      672             LCALL   _IccSyncPutChar
                     673     ;     IccSyncPutChar(addr);
                     674                             ; SOURCE LINE # 100
0016 900000   F      675             MOV     DPTR,#addr?756
0019 E0              676             MOVX    A,@DPTR
001A FF              677             MOV     R7,A
001B 120000   F      678             LCALL   _IccSyncPutChar

⌨️ 快捷键说明

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