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

📄 d12ci.lst

📁 KeilC51下的USB的slave设备源码,MCS51开发.
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     665     ;       i += (j<<8);
                     666                             ; SOURCE LINE # 151
                     667     ; 
                     668     ;       if(bEPPflags.bits.in_isr == 0)
                     669                             ; SOURCE LINE # 153
0020 E500     F      670             MOV     A,bEPPflags
0022 20E502          671             JB      ACC.5,?C0028
                     672     ;               ENABLE;
                     673                             ; SOURCE LINE # 154
0025 D2AF            674             SETB    EA
0027                 675     ?C0028:
                     676     ; 
                     677     ;       return i;
                     678                             ; SOURCE LINE # 156
                     679     ; }
                     680                             ; SOURCE LINE # 157
0027                 681     ?C0029:
0027 22              682             RET     
                     683     ; END OF D12_ReadCurrentFrameNumber
                     684     
                     685     
                     686     ; 
                     687     ; unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf
                             )
                     688     
----                 689             RSEG  ?PR?_D12_ReadEndpoint?D12CI
0000                 690     _D12_ReadEndpoint:
                     691             USING   0
                     692                             ; SOURCE LINE # 159
0000 8F00     F      693             MOV     endp?1055,R7
0002 8D00     F      694             MOV     len?1056,R5
0004 8B00     F      695             MOV     buf?1057,R3
0006 8A00     F      696             MOV     buf?1057+01H,R2
0008 8900     F      697             MOV     buf?1057+02H,R1
                     698     ; {
                     699                             ; SOURCE LINE # 160
                     700     ;       unsigned char i, j;
                     701     ; 
                     702     ;       if(bEPPflags.bits.in_isr == 0)
                     703                             ; SOURCE LINE # 163
000A E500     F      704             MOV     A,bEPPflags
000C 20E502          705             JB      ACC.5,?C0030
                     706     ;               DISABLE;
                     707                             ; SOURCE LINE # 164
000F C2AF            708             CLR     EA
0011                 709     ?C0030:
                     710     ; 
                     711     ;       outportb(D12_COMMAND, 0x80 + endp);
                     712                             ; SOURCE LINE # 166
0011 E500     F      713             MOV     A,endp?1055
0013 2480            714             ADD     A,#080H
0015 850083   F      715             MOV     DPH,D12_COMMAND
0018 850082   F      716             MOV     DPL,D12_COMMAND+01H
001B F0              717             MOVX    @DPTR,A
A51 MACRO ASSEMBLER  D12CI                                                                06/23/2003 11:17:01 PAGE    12

                     718     ;       i = inportb(D12_DATA);
                     719                             ; SOURCE LINE # 167
001C 850083   F      720             MOV     DPH,D12_DATA
001F 850082   F      721             MOV     DPL,D12_DATA+01H
0022 E0              722             MOVX    A,@DPTR
0023 F500     F      723             MOV     i?1058,A
                     724     ;       i=i & 0x60;
                     725                             ; SOURCE LINE # 168
0025 530060   F      726             ANL     i?1058,#060H
                     727     ;       if (endp == 2)
                     728                             ; SOURCE LINE # 169
0028 E500     F      729             MOV     A,endp?1055
002A B40213          730             CJNE    A,#02H,?C0031
                     731     ;       {
                     732                             ; SOURCE LINE # 170
                     733     ;               if (i == 0x60)
                     734                             ; SOURCE LINE # 171
002D E500     F      735             MOV     A,i?1058
002F B46008          736             CJNE    A,#060H,?C0032
                     737     ;                       bEPPflags.bits.ep1buf_full = 1;
                     738                             ; SOURCE LINE # 172
0032 E500     F      739             MOV     A,bEPPflags+01H
0034 4410            740             ORL     A,#010H
0036 F500     F      741             MOV     bEPPflags+01H,A
0038 8006            742             SJMP    ?C0031
003A                 743     ?C0032:
                     744     ;               else
                     745     ;                       bEPPflags.bits.ep1buf_full = 0;
                     746                             ; SOURCE LINE # 174
003A E500     F      747             MOV     A,bEPPflags+01H
003C 54EF            748             ANL     A,#0EFH
003E F500     F      749             MOV     bEPPflags+01H,A
                     750     ;       }
                     751                             ; SOURCE LINE # 175
0040                 752     ?C0031:
                     753     ; 
                     754     ;       if (endp == 4)
                     755                             ; SOURCE LINE # 177
0040 E500     F      756             MOV     A,endp?1055
0042 B40413          757             CJNE    A,#04H,?C0034
                     758     ;       {
                     759                             ; SOURCE LINE # 178
                     760     ;               if (i == 0x60)
                     761                             ; SOURCE LINE # 179
0045 E500     F      762             MOV     A,i?1058
0047 B46008          763             CJNE    A,#060H,?C0035
                     764     ;                       bEPPflags.bits.ep2buf_full = 1;
                     765                             ; SOURCE LINE # 180
004A E500     F      766             MOV     A,bEPPflags+01H
004C 4420            767             ORL     A,#020H
004E F500     F      768             MOV     bEPPflags+01H,A
0050 8006            769             SJMP    ?C0034
0052                 770     ?C0035:
                     771     ;               else
                     772     ;                       bEPPflags.bits.ep2buf_full = 0;
                     773                             ; SOURCE LINE # 182
0052 E500     F      774             MOV     A,bEPPflags+01H
0054 54DF            775             ANL     A,#0DFH
0056 F500     F      776             MOV     bEPPflags+01H,A
                     777     ;       }
                     778                             ; SOURCE LINE # 183
0058                 779     ?C0034:
                     780     ; 
                     781     ; 
                     782     ;       outportb(D12_COMMAND, endp);
                     783                             ; SOURCE LINE # 186
A51 MACRO ASSEMBLER  D12CI                                                                06/23/2003 11:17:01 PAGE    13

0058 850083   F      784             MOV     DPH,D12_COMMAND
005B 850082   F      785             MOV     DPL,D12_COMMAND+01H
005E E500     F      786             MOV     A,endp?1055
0060 F0              787             MOVX    @DPTR,A
                     788     ;       if((inportb(D12_DATA) & D12_FULLEMPTY) == 0) {
                     789                             ; SOURCE LINE # 187
0061 850083   F      790             MOV     DPH,D12_DATA
0064 850082   F      791             MOV     DPL,D12_DATA+01H
0067 E0              792             MOVX    A,@DPTR
0068 20E00A          793             JB      ACC.0,?C0037
                     794     ;               if(bEPPflags.bits.in_isr == 0)
                     795                             ; SOURCE LINE # 188
006B E500     F      796             MOV     A,bEPPflags
006D 20E002          797             JB      ACC.0,?C0038
                     798     ;                       ENABLE;
                     799                             ; SOURCE LINE # 189
0070 D2AF            800             SETB    EA
0072                 801     ?C0038:
                     802     ;               return 0;
                     803                             ; SOURCE LINE # 190
0072 7F00            804             MOV     R7,#00H
0074 22              805             RET     
                     806     ;       }
                     807                             ; SOURCE LINE # 191
0075                 808     ?C0037:
                     809     ; 
                     810     ;       outportb(D12_COMMAND, 0xF0);
                     811                             ; SOURCE LINE # 193
0075 850083   F      812             MOV     DPH,D12_COMMAND
0078 850082   F      813             MOV     DPL,D12_COMMAND+01H
007B 74F0            814             MOV     A,#0F0H
007D F0              815             MOVX    @DPTR,A
                     816     ;       j = inportb(D12_DATA);
                     817                             ; SOURCE LINE # 194
007E 850083   F      818             MOV     DPH,D12_DATA
0081 850082   F      819             MOV     DPL,D12_DATA+01H
0084 E0              820             MOVX    A,@DPTR
                     821     ;       j = inportb(D12_DATA);
                     822                             ; SOURCE LINE # 195
0085 850083   F      823             MOV     DPH,D12_DATA
0088 850082   F      824             MOV     DPL,D12_DATA+01H
008B E0              825             MOVX    A,@DPTR
008C F500     F      826             MOV     j?1059,A
                     827     ; 
                     828     ;       if(j > len)
                     829                             ; SOURCE LINE # 197
                     830     ;       MOV     A,j?1059
008E D3              831             SETB    C
008F 9500     F      832             SUBB    A,len?1056
0091 4003            833             JC      ?C0040
                     834     ;               j = len;
                     835                             ; SOURCE LINE # 198
0093 850000   F      836             MOV     j?1059,len?1056
0096                 837     ?C0040:
                     838     ; 
                     839     ;       for(i=0; i<j; i++)
                     840                             ; SOURCE LINE # 200
                     841     
0096 E500     F      842             MOV     A,j?1059
0098 6042            843             JZ      WRITEDAT_END
                     844     
009A FE              845             MOV     R6,A
009B AB00     F      846             MOV     R3,buf?1057
                     847     
009D BB011B          848             CJNE    R3,#01H,WRITE_DATA
                     849     
A51 MACRO ASSEMBLER  D12CI                                                                06/23/2003 11:17:01 PAGE    14

00A0 850083   F      850             MOV     DPH,buf?1057+01H
00A3 850082   F      851             MOV     DPL,buf?1057+02H
00A6                 852     WRITE_XDATA1:
                     853     ;       for(i=0; i<j; i++)
                     854     ;               *(buf+i) = D12_DATA;
                     855                             ; SOURCE LINE # 219
00A6 C083            856             PUSH    DPH
00A8 C082            857             PUSH    DPL
00AA 850083   F      858             MOV     DPH,D12_DATA
00AD 850082   F      859             MOV     DPL,D12_DATA+1
00B0 E0              860             MOVX    A,@DPTR
00B1 D082            861             POP     DPL
00B3 D083            862             POP     DPH
00B5 F0              863             MOVX    @DPTR,A
00B6 A3              864             INC     DPTR
00B7 DEED            865             DJNZ    R6,WRITE_XDATA1
00B9 8021            866             SJMP    WRITEDAT_END
                     867     
00BB                 868     WRITE_DATA:
00BB 500F            869             JNC     WRITE_PDATA
00BD A900     F      870             MOV     R1,buf?1057+02H
00BF 850083   F      871             MOV     DPH,D12_DATA
00C2 850082   F      872             MOV     DPL,D12_DATA+1
                     873     
00C5                 874     WRITE_DATA1:
                     875     ;       for(i=0; i<j; i++)
                     876     ;               *(buf+i) = D12_DATA;
                     877                             ; SOURCE LINE # 219
                     878     
00C5 E0              879             MOVX    A,@DPTR
00C6 F7              880             MOV     @R1,A
00C7 09              881             INC     R1
00C8 DEFB            882             DJNZ    R6,WRITE_DATA1
00CA 8010            883             SJMP    WRITEDAT_END
                     884     
00CC                 885     WRITE_PDATA:
00CC BBFE0D          886             CJNE    R3,#0FEH,WRITEDAT_END
00CF A900     F      887             MOV     R1,buf?1057+02H
00D1 850083   F      888             MOV     DPH,D12_DATA

⌨️ 快捷键说明

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