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

📄 smart_ci.lst

📁 philiphs D12 firmware驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     898                             ; SOURCE LINE # 183
000C 7F05            899             MOV     R7,#05H
000E 7DFD            900             MOV     R5,#0FDH
                     901     ;       LCALL   _outportb
0010 90FF03          902             MOV     DPTR,#0FF03H
0013 ED              903             MOV     A,R5
0014 F0              904             MOVX    @DPTR,A
                     905     ;       i=inportb(portbase+D12_DATA);
                     906                             ; SOURCE LINE # 184
0015 7F04            907             MOV     R7,#04H
                     908     ;       LCALL   _inportb
0017 90FF02          909             MOV     DPTR,#0FF02H
001A E0              910             MOVX    A,@DPTR
001B FF              911             MOV     R7,A
001C 750000   F      912             MOV     i?111,#00H
001F 8F00     F      913             MOV     i?111+01H,R7
                     914     ;       j=inportb(portbase+D12_DATA);
                     915                             ; SOURCE LINE # 185
0021 7F04            916             MOV     R7,#04H
A51 MACRO ASSEMBLER  SMART_CI                                                             08/06/2006 09:11:04 PAGE    15

                     917     ;       LCALL   _inportb
0023 90FF02          918             MOV     DPTR,#0FF02H
0026 E0              919             MOVX    A,@DPTR
0027 FF              920             MOV     R7,A
                     921     ;---- Variable 'j?111' assigned to Register 'R6/R7' ----
                     922     ;       i += (j<<8);
                     923                             ; SOURCE LINE # 186
0028 EF              924             MOV     A,R7
0029 FE              925             MOV     R6,A
002A E4              926             CLR     A
002B 2500     F      927             ADD     A,i?111+01H
002D F500     F      928             MOV     i?111+01H,A
002F EE              929             MOV     A,R6
0030 3500     F      930             ADDC    A,i?111
0032 F500     F      931             MOV     i?111,A
                     932     ;
                     933     ;       if(bEPPflags.bits.in_isr == 0)
                     934                             ; SOURCE LINE # 188
0034 AF00     F      935             MOV     R7,bEPPflags
0036 EF              936             MOV     A,R7
0037 C4              937             SWAP    A
0038 13              938             RRC     A
0039 5407            939             ANL     A,#07H
003B 20E002          940             JB      ACC.0,?C0032
                     941     ;               ENABLE;
                     942                             ; SOURCE LINE # 189
003E D2AF            943             SETB    EA
0040                 944     ?C0032:
                     945     ;
                     946     ;       return i;
                     947                             ; SOURCE LINE # 191
0040 AE00     F      948             MOV     R6,i?111
0042 AF00     F      949             MOV     R7,i?111+01H
                     950     ; }
                     951                             ; SOURCE LINE # 192
0044                 952     ?C0033:
0044 22              953             RET
                     954     ; END OF D12_ReadChipID
                     955     
                     956     ;
                     957     ; unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf
                             )
                     958     
----                 959             RSEG  ?PR?_D12_ReadEndpoint?D12CI
                     960             USING   0
0000                 961     _D12_ReadEndpoint:
                     962                             ; SOURCE LINE # 194
                     963     ; {
                     964                             ; SOURCE LINE # 195
                     965     ;       unsigned char i, j;
                     966     ;
                     967     ;       if(bEPPflags.bits.in_isr == 0)
                     968                             ; SOURCE LINE # 198
0000 E500     F      969             MOV     A,bEPPflags
0002 C4              970             SWAP    A
0003 13              971             RRC     A
0004 5407            972             ANL     A,#07H
0006 20E002          973             JB      ACC.0,?C0034
                     974     ;               DISABLE;
                     975                             ; SOURCE LINE # 199
0009 C2AF            976             CLR     EA
000B                 977     ?C0034:
000B 8B00     F      978             MOV     buf?120,R3
000D 8A00     F      979             MOV     buf?120+01H,R2
000F 8900     F      980             MOV     buf?120+02H,R1
0011 8D00     F      981             MOV     len?120, R5
A51 MACRO ASSEMBLER  SMART_CI                                                             08/06/2006 09:11:04 PAGE    16

                     982     ;---- Variable 'endp?120' assigned to Register 'R5' ----
0013 AD07            983             MOV     R5,AR7
                     984     ;
                     985     ;       outportb(D12_COMMAND, endp);
                     986                             ; SOURCE LINE # 201
0015 7F03            987             MOV     R7,#03H
                     988     ;       LCALL   _outportb
0017 90FF03          989             MOV     DPTR,#0FF03H
001A ED              990             MOV     A,R5
001B F0              991             MOVX    @DPTR,A
                     992     ;       if((inportb(D12_DATA) & D12_FULLEMPTY) == 0) {
                     993                             ; SOURCE LINE # 202
001C 7F02            994             MOV     R7,#02H
                     995     ;       LCALL   _inportb
001E 90FF02          996             MOV     DPTR,#0FF02H
0021 E0              997             MOVX    A,@DPTR
0022 FF              998             MOV     R7,A
0023 EF              999             MOV     A,R7
0024 20E00F         1000             JB      ACC.0,?C0035
                    1001     ;               if(bEPPflags.bits.in_isr == 0)
                    1002                             ; SOURCE LINE # 203
0027 AF00     F     1003             MOV     R7,bEPPflags
0029 EF             1004             MOV     A,R7
002A C4             1005             SWAP    A
002B 13             1006             RRC     A
002C 5407           1007             ANL     A,#07H
002E 20E002         1008             JB      ACC.0,?C0036
                    1009     ;                       ENABLE;
                    1010                             ; SOURCE LINE # 204
0031 D2AF           1011             SETB    EA
0033                1012     ?C0036:
                    1013     ;               return 0;
                    1014                             ; SOURCE LINE # 205
0033 7F00           1015             MOV     R7,#00H
0035 22             1016             RET
                    1017     ;       }
                    1018                             ; SOURCE LINE # 206
0036                1019     ?C0035:
                    1020     ;
                    1021     ;       outportb(D12_COMMAND, 0xF0);
                    1022                             ; SOURCE LINE # 208
0036 7F03           1023             MOV     R7,#03H
0038 7DF0           1024             MOV     R5,#0F0H
                    1025     ;       LCALL   _outportb
003A 90FF03         1026             MOV     DPTR,#0FF03H
003D ED             1027             MOV     A,R5
003E F0             1028             MOVX    @DPTR,A
                    1029     ;       j = inportb(D12_DATA);
                    1030                             ; SOURCE LINE # 209
003F 7F02           1031             MOV     R7,#02H
                    1032     ;       LCALL   _inportb
0041 90FF02         1033             MOV     DPTR,#0FF02H
0044 E0             1034             MOVX    A,@DPTR
0045 FF             1035             MOV     R7,A
0046 8F00     F     1036             MOV     j?121,R7
                    1037     ;       j = inportb(D12_DATA);
                    1038                             ; SOURCE LINE # 210
0048 7F02           1039             MOV     R7,#02H
                    1040     ;       LCALL   _inportb
004A 90FF02         1041             MOV     DPTR,#0FF02H
004D E0             1042             MOVX    A,@DPTR
004E FF             1043             MOV     R7,A
004F 8F00     F     1044             MOV     j?121,R7
                    1045     ;
                    1046     ;       if(j > len)
                    1047                             ; SOURCE LINE # 212
A51 MACRO ASSEMBLER  SMART_CI                                                             08/06/2006 09:11:04 PAGE    17

0051 E500     F     1048             MOV     A,j?121
0053 D3             1049             SETB    C
0054 9500     F     1050             SUBB    A,len?120
0056 4003           1051             JC      ?C0038
                    1052     ;               j = len;
                    1053                             ; SOURCE LINE # 213
0058 850000   F     1054             MOV     j?121,len?120
005B                1055     ?C0038:
                    1056     ;
005B AB00     F     1057             MOV     R3,buf?120
005D BB0222         1058             CJNE    R3,#02,RDEP_002
                    1059                             ; XDATA memory type
0060 850083   F     1060             MOV     DPH,buf?120+01H
0063 850082   F     1061             MOV     DPL,buf?120+02H
                    1062     ;       for(i=0; i<j; i++)
                    1063                             ; SOURCE LINE # 215
0066 E4             1064             CLR     A
0067 F500     F     1065             MOV     i?121,A
0069                1066     RDEP_001:
0069 E500     F     1067             MOV     A,i?121
006B C3             1068             CLR     C
006C 9500     F     1069             SUBB    A,j?121
006E 5028           1070             JNC     ?C0040
0070 C083           1071             PUSH    DPH
0072 C082           1072             PUSH    DPL
0074 90FF02         1073             MOV     DPTR,#0FF02H
0077 E0             1074             MOVX    A,@DPTR
0078 D082           1075             POP             DPL
007A D083           1076             POP             DPH
007C F0             1077             MOVX    @DPTR,A
007D A3             1078             INC             DPTR
007E 0500     F     1079             INC     i?121
0080 80E7           1080             SJMP    RDEP_001
                    1081     ;
0082                1082     RDEP_002:
                    1083                             ; IDATA, DATA memory type. (PDATA not supported!)
0082 A800     F     1084             MOV     R0,buf?120+02H
                    1085     ;       for(i=0; i<j; i++)
                    1086                             ; SOURCE LINE # 215
0084 E4             1087             CLR     A
0085 F500     F     1088             MOV     i?121,A
0087 90FF02         1089             MOV     DPTR,#0FF02H
008A                1090     RDEP_003:
008A E500     F     1091             MOV     A,i?121
008C C3             1092             CLR     C
008D 9500     F     1093             SUBB    A,j?121
008F 5007           1094             JNC     ?C0040
0091 E0             1095             MOVX    A,@DPTR
0092 F6             1096             MOV             @R0,A
0093 08             1097             INC             R0
0094 0500     F     1098             INC     i?121
0096 80F2           1099             SJMP    RDEP_003
                    1100     
0098                1101     ?C0040:
                    1102     ;
                    1103     ;
                    1104     ;       outportb(D12_COMMAND, 0xF2);
                    1105                             ; SOURCE LINE # 218
0098 7F03           1106             MOV     R7,#03H
009A 7DF2           1107             MOV     R5,#0F2H
                    1108     ;       LCALL   _outportb
009C 90FF03         1109             MOV     DPTR,#0FF03H
009F ED             1110             MOV     A,R5
00A0 F0             1111             MOVX    @DPTR,A
                    1112     ;
                    1113     ;       if(bEPPflags.bits.in_isr == 0)
A51 MACRO ASSEMBLER  SMART_CI                                                             08/06/2006 09:11:04 PAGE    18

                    1114                             ; SOURCE LINE # 220
00A1 AF00     F     1115             MOV     R7,bEPPflags
00A3 EF             1116             MOV     A,R7
00A4 C4             1117             SWAP    A
00A5 13             1118             RRC     A
00A6 5407           1119             ANL     A,#07H
00A8 20E002         1120             JB      ACC.0,?C0042
                

⌨️ 快捷键说明

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