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

📄 rdio.lst

📁 RC500 MF1 非接触读卡器 开发板 资料
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  RDIO                                                                 03/21/2008 00:23:12 PAGE     5

                     256     
----                 257             RSEG  ?PR?CloseIO?RDIO
0000                 258     CloseIO:
                     259                             ; SOURCE LINE # 39
                     260     ; {
                     261                             ; SOURCE LINE # 40
                     262     ;    GpBase = 0xff00;
                     263                             ; SOURCE LINE # 41
0000 900000   F      264             MOV     DPTR,#GpBase
0003 74FF            265             MOV     A,#0FFH
0005 438E02          266             ORL     AUXR,#02H
0008 F0              267             MOVX    @DPTR,A
0009 538EFD          268             ANL     AUXR,#0FDH
000C A3              269             INC     DPTR
000D E4              270             CLR     A
000E F0              271             MOVX    @DPTR,A
                     272     ;    P2_7 = 1;  // disable the CS for RC500
                     273                             ; SOURCE LINE # 42
000F D2A7            274             SETB    P2_7
                     275     ; }
                     276                             ; SOURCE LINE # 43
0011 22              277             RET     
                     278     ; END OF CloseIO
                     279     
                     280     ; 
                     281     ; ///////////////////////////////////////////////////////////////////////////////
                     282     ; //          G E N E R I C    W R I T E
                     283     ; ///////////////////////////////////////////////////////////////////////////////
                     284     ; void WriteIO(unsigned char Address, unsigned char data value)
                     285     
----                 286             RSEG  ?PR?_WriteIO?RDIO
0000                 287     _WriteIO:
                     288             USING   0
                     289                             ; SOURCE LINE # 48
                     290     ;---- Variable 'value?241' assigned to Register 'R5' ----
                     291     ;---- Variable 'Address?240' assigned to Register 'R7' ----
                     292     ; {
                     293                             ; SOURCE LINE # 49
                     294     ;     AUXR |=0x02;
                     295                             ; SOURCE LINE # 50
                     296             
                     297     ;       WriteRawIO(Address,value); 
                     298                             ; SOURCE LINE # 51
0000 900000   F      299             MOV     DPTR,#GpBase
0003 E0              300             MOVX    A,@DPTR
0004 FC              301             MOV     R4,A
0005 A3              302             INC     DPTR
0006 E0              303             MOVX    A,@DPTR
0007 2F              304             ADD     A,R7
0008 F582            305             MOV     DPL,A
000A E4              306             CLR     A
000B 3C              307             ADDC    A,R4
000C F583            308             MOV     DPH,A
000E ED              309             MOV     A,R5
000F 438E02          310             ORL     AUXR,#02H
0012 F0              311             MOVX    @DPTR,A
                     312     ;     AUXR &=0xfd;                                         // write value at the specified 
                     313                             ; SOURCE LINE # 52
0013 538EFD          314             ANL     AUXR,#0FDH
                     315     ;                                               // address
                     316     ; }
                     317                             ; SOURCE LINE # 54
0016 22              318             RET     
                     319     ; END OF _WriteIO
                     320     
                     321     ; 
A51 MACRO ASSEMBLER  RDIO                                                                 03/21/2008 00:23:12 PAGE     6

                     322     ; ///////////////////////////////////////////////////////////////////////////////
                     323     ; //          G E N E R I C    R E A D
                     324     ; ///////////////////////////////////////////////////////////////////////////////
                     325     ; unsigned char ReadIO(unsigned char data Address)
                     326     
----                 327             RSEG  ?PR?_ReadIO?RDIO
0000                 328     _ReadIO:
                     329             USING   0
                     330                             ; SOURCE LINE # 59
                     331     ;---- Variable 'Address?342' assigned to Register 'R7' ----
                     332     ; {
                     333                             ; SOURCE LINE # 60
                     334     ;    static unsigned char c;
                     335     ;    AUXR |=0x02;
                     336                             ; SOURCE LINE # 62
                     337                     
                     338     ;    c = ReadRawIO(Address);                    // read value at the specified 
                     339                             ; SOURCE LINE # 63
0000 900000   F      340             MOV     DPTR,#GpBase
0003 E0              341             MOVX    A,@DPTR
0004 FC              342             MOV     R4,A
0005 A3              343             INC     DPTR
0006 E0              344             MOVX    A,@DPTR
0007 2F              345             ADD     A,R7
0008 F582            346             MOV     DPL,A
000A E4              347             CLR     A
000B 3C              348             ADDC    A,R4
000C F583            349             MOV     DPH,A
000E 438E02          350             ORL     AUXR,#02H
0011 E0              351             MOVX    A,@DPTR
0012 538EFD          352             ANL     AUXR,#0FDH
0015 900000   F      353             MOV     DPTR,#c?343
0018 F0              354             MOVX    @DPTR,A
                     355     ;    AUXR &=0xfd;                                           // address
                     356                             ; SOURCE LINE # 64
                     357     
                     358     ;    return c;
                     359                             ; SOURCE LINE # 65
0019 E0              360             MOVX    A,@DPTR
001A FF              361             MOV     R7,A
                     362     ; }  
                     363                             ; SOURCE LINE # 66
001B                 364     ?C0004:
001B 22              365             RET     
                     366     ; END OF _ReadIO
                     367     
                     368     ; 
                     369     ; #ifndef SEC_NO_MICORE
                     370     ; ///////////////////////////////////////////////////////////////////////////////
                     371     ; //     W R I T E   S E V E R A L   M E M O R Y   L O C A T I O N S 
                     372     ; ///////////////////////////////////////////////////////////////////////////////
                     373     ; void WriteIOBlock(unsigned char *Addr_Data, unsigned short len)
                     374     
----                 375             RSEG  ?PR?_WriteIOBlock?RDIO
0000                 376     _WriteIOBlock:
                     377             USING   0
                     378                             ; SOURCE LINE # 72
0000 900000   F      379             MOV     DPTR,#Addr_Data?444
0003 EB              380             MOV     A,R3
0004 F0              381             MOVX    @DPTR,A
0005 A3              382             INC     DPTR
0006 EA              383             MOV     A,R2
0007 F0              384             MOVX    @DPTR,A
0008 A3              385             INC     DPTR
0009 E9              386             MOV     A,R1
000A F0              387             MOVX    @DPTR,A
A51 MACRO ASSEMBLER  RDIO                                                                 03/21/2008 00:23:12 PAGE     7

000B A3              388             INC     DPTR
000C EC              389             MOV     A,R4
000D F0              390             MOVX    @DPTR,A
000E A3              391             INC     DPTR
000F ED              392             MOV     A,R5
0010 F0              393             MOVX    @DPTR,A
                     394     ; {
                     395                             ; SOURCE LINE # 73
                     396     ;    static unsigned short cnt;
                     397     ; 
                     398     ;    for (cnt = 0; cnt < len; cnt++)
                     399                             ; SOURCE LINE # 76
0011 E4              400             CLR     A
0012 900000   F      401             MOV     DPTR,#cnt?446
0015 F0              402             MOVX    @DPTR,A
0016 A3              403             INC     DPTR
0017 F0              404             MOVX    @DPTR,A
0018                 405     ?C0005:
0018 900000   F      406             MOV     DPTR,#len?445
001B E0              407             MOVX    A,@DPTR
001C FE              408             MOV     R6,A
001D A3              409             INC     DPTR
001E E0              410             MOVX    A,@DPTR
001F FF              411             MOV     R7,A
0020 900000   F      412             MOV     DPTR,#cnt?446
0023 E0              413             MOVX    A,@DPTR
0024 FC              414             MOV     R4,A
0025 A3              415             INC     DPTR
0026 E0              416             MOVX    A,@DPTR
0027 FD              417             MOV     R5,A
0028 C3              418             CLR     C
0029 9F              419             SUBB    A,R7
002A EC              420             MOV     A,R4
002B 9E              421             SUBB    A,R6
002C 505B            422             JNC     ?C0008
                     423     ;    {
                     424                             ; SOURCE LINE # 77
                     425     ;         // write value at the specified address
                     426     ;        WriteRawIO(Addr_Data[cnt*2],Addr_Data[cnt * 2 + 1]); 
                     427                             ; SOURCE LINE # 79
002E ED              428             MOV     A,R5
002F 25E0            429             ADD     A,ACC
0031 FF              430             MOV     R7,A
0032 EC              431             MOV     A,R4
0033 33              432             RLC     A
0034 FE              433             MOV     R6,A
0035 EF              434             MOV     A,R7
0036 2401            435             ADD     A,#01H
0038 FF              436             MOV     R7,A
0039 E4              437             CLR     A
003A 3E              438             ADDC    A,R6
003B FE              439             MOV     R6,A
003C 900000   F      440             MOV     DPTR,#Addr_Data?444
003F E0              441             MOVX    A,@DPTR
0040 FB              442             MOV     R3,A
0041 A3              443             INC     DPTR
0042 E0              444             MOVX    A,@DPTR
0043 FA              445             MOV     R2,A
0044 A3              446             INC     DPTR
0045 E0              447             MOVX    A,@DPTR
0046 F9              448             MOV     R1,A
0047 8F82            449             MOV     DPL,R7
0049 8E83            450             MOV     DPH,R6
004B 120000   F      451             LCALL   ?C?CLDOPTR
004E FD              452             MOV     R5,A
004F 900000   F      453             MOV     DPTR,#cnt?446+01H
A51 MACRO ASSEMBLER  RDIO                                                                 03/21/2008 00:23:12 PAGE     8

0052 E0              454             MOVX    A,@DPTR
0053 25E0            455             ADD     A,ACC
0055 FF              456             MOV     R7,A
0056 900000   F      457             MOV     DPTR,#cnt?446
0059 E0              458             MOVX    A,@DPTR
005A 33              459             RLC     A
005B 8F82            460             MOV     DPL,R7
005D F583            461             MOV     DPH,A
005F 120000   F      462             LCALL   ?C?CLDOPTR
0062 FF              463             MOV     R7,A
0063 900000   F      464             MOV     DPTR,#GpBase
0066 E0              465             MOVX    A,@DPTR
0067 FA              466             MOV     R2,A
0068 A3              467             INC     DPTR
0069 E0              468             MOVX    A,@DPTR
006A 2F              469             ADD     A,R7
006B F582            470             MOV     DPL,A
006D E4              471             CLR     A
006E 3A              472             ADDC    A,R2
006F F583            473             MOV     DPH,A
0071 ED              474             MOV     A,R5
0072 438E02          475             ORL     AUXR,#02H
0075 F0              476             MOVX    @DPTR,A
0076 538EFD          477             ANL     AUXR,#0FDH
                     478     ;    }
                     479                             ; SOURCE LINE # 80
0079 900000   F      480             MOV     DPTR,#cnt?446+01H
007C E0              481             MOVX    A,@DPTR
007D 04              482             INC     A
007E F0              483             MOVX    @DPTR,A
007F 7097            484             JNZ     ?C0005
0081 900000   F      485             MOV     DPTR,#cnt?446
0084 E0              486             MOVX    A,@DPTR
0085 04              487             INC     A
0086 F0              488             MOVX    @DPTR,A
0087                 489     ?C0013:
0087 808F            490             SJMP    ?C0005
                     491     ; }
                     492                             ; SOURCE LINE # 81
0089                 493     ?C0008:
0089 22              494             RET     
                     495     ; END OF _WriteIOBlock
                     496     
                     497     ; 
                     498     ; ///////////////////////////////////////////////////////////////////////////////
                     499     ; //     R E A D   S E V E R A L   M E M O R Y   L O C A T I O N S 
                     500     ; ///////////////////////////////////////////////////////////////////////////////
                     501     ; void ReadIOBlock(unsigned char* Addr_Data, unsigned short len)
                     502     
----                 503             RSEG  ?PR?_ReadIOBlock?RDIO
0000                 504     _ReadIOBlock:
                     505             USING   0
                     506                             ; SOURCE LINE # 86
0000 900000   F      507             MOV     DPTR,#len?548
0003 EC              508             MOV     A,R4
0004 F0              509             MOVX    @DPTR,A
0005 A3              510             INC     DPTR
0006 ED              511             MOV     A,R5
0007 F0              512             MOVX    @DPTR,A
                     513     ;---- Variable 'Addr_Data?547' assigned to Register 'R1/R2/R3' ----
                     514     ; {
                     515                             ; SOURCE LINE # 87
                     516     ;    static unsigned short cnt;
                     517     ; 
                     518     ;    for (cnt = 0; cnt < len; cnt)

⌨️ 快捷键说明

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