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

📄 usb_drv.lst

📁 这是一个用C语言在VC6.0环境下编写的用于USB驱动的代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
006F 8063              SJMP    ?C0038
0071         ?C0015:
                                           ; SOURCE LINE # 193
0071 E500        R     MOV     A,evnt
0073 30E105            JNB     ACC.1,?C0017
0076 120000      R     LCALL   tx_1
0079 8059              SJMP    ?C0038
007B         ?C0017:
                                           ; SOURCE LINE # 194
007B E500        R     MOV     A,evnt
007D 30E205            JNB     ACC.2,?C0019
0080 120000      R     LCALL   tx_2
0083 804F              SJMP    ?C0038
0085         ?C0019:
                                           ; SOURCE LINE # 195
0085 E500        R     MOV     A,evnt
0087 30E34A            JNB     ACC.3,?C0038
008A 120000      R     LCALL   tx_3
008D 8045              SJMP    ?C0038
                                           ; SOURCE LINE # 197
                                           ; SOURCE LINE # 198
                                           ; SOURCE LINE # 199
008F         ?C0014:
                                           ; SOURCE LINE # 200
008F E500        R     MOV     A,evnt
C51 COMPILER V7.06   USB_DRV                                                               08/05/2007 09:42:58 PAGE 18  

0091 30E105            JNB     ACC.1,?C0024
0094 120000      R     LCALL   usb_alt
0097 803B              SJMP    ?C0038
0099         ?C0024:
                                           ; SOURCE LINE # 201
0099 E500        R     MOV     A,evnt
009B 30E436            JNB     ACC.4,?C0038
                                           ; SOURCE LINE # 202
                                           ; SOURCE LINE # 203
009E 90800E            MOV     DPTR,#NAKEV
00A1 E0                MOVX    A,@DPTR
00A2 F500        R     MOV     evnt,A
                                           ; SOURCE LINE # 204
00A4 E500        R     MOV     A,evnt
00A6 30E405            JNB     ACC.4,?C0027
00A9 120000      R     LCALL   nak0
00AC 8026              SJMP    ?C0038
00AE         ?C0027:
                                           ; SOURCE LINE # 205
00AE E500        R     MOV     A,evnt
00B0 30E505            JNB     ACC.5,?C0029
00B3 120000      R     LCALL   nakO1
00B6 801C              SJMP    ?C0038
00B8         ?C0029:
                                           ; SOURCE LINE # 206
00B8 E500        R     MOV     A,evnt
00BA 30E105            JNB     ACC.1,?C0031
00BD 120000      R     LCALL   nakI1
00C0 8012              SJMP    ?C0038
00C2         ?C0031:
                                           ; SOURCE LINE # 207
00C2 E500        R     MOV     A,evnt
00C4 30E605            JNB     ACC.6,?C0033
00C7 120000      R     LCALL   nak2
00CA 8008              SJMP    ?C0038
00CC         ?C0033:
                                           ; SOURCE LINE # 208
00CC E500        R     MOV     A,evnt
00CE 30E703            JNB     ACC.7,?C0038
00D1 120000      R     LCALL   nak3
                                           ; SOURCE LINE # 210
                                           ; SOURCE LINE # 211
                                           ; SOURCE LINE # 212
                                           ; SOURCE LINE # 214
                                           ; SOURCE LINE # 215
                                           ; SOURCE LINE # 216
00D4         ?C0038:
00D4 D007              POP     AR7
00D6 D006              POP     AR6
00D8 D005              POP     AR5
00DA D004              POP     AR4
00DC D003              POP     AR3
00DE D002              POP     AR2
00E0 D001              POP     AR1
00E2 D000              POP     AR0
00E4 D0D0              POP     PSW
00E6 D082              POP     DPL
00E8 D083              POP     DPH
00EA D0F0              POP     B
00EC D0E0              POP     ACC
00EE 32                RETI    
             ; FUNCTION usb_isr (END)
C51 COMPILER V7.06   USB_DRV                                                               08/05/2007 09:42:58 PAGE 19  


             ; FUNCTION rx_0 (BEGIN)
                                           ; SOURCE LINE # 218
                                           ; SOURCE LINE # 219
                                           ; SOURCE LINE # 220
0000 908026            MOV     DPTR,#RXS0
0003 E0                MOVX    A,@DPTR
0004 F500        R     MOV     rxstat,A
                                           ; SOURCE LINE # 222
0006 E500        R     MOV     A,rxstat
0008 20E603            JB      ACC.6,$ + 6H
000B 020000      R     LJMP    ?C0039
                                           ; SOURCE LINE # 223
                                           ; SOURCE LINE # 224
000E E4                CLR     A
000F F500        R     MOV     data_to_transfer,A
                                           ; SOURCE LINE # 225
0011 F500        R     MOV     pbuffer,A
0013 F500        R     MOV     pbuffer+01H,A
                                           ; SOURCE LINE # 226
0015 F500        R     MOV     zero_packet_flag,A
                                           ; SOURCE LINE # 229
0017 F500        R     MOV     desc_idx,A
0019         ?C0040:
                                           ; SOURCE LINE # 230
                                           ; SOURCE LINE # 231
0019 908025            MOV     DPTR,#RXD0
001C E0                MOVX    A,@DPTR
001D FF                MOV     R7,A
001E 7400        R     MOV     A,#LOW usb_buf
0020 2500        R     ADD     A,desc_idx
0022 F8                MOV     R0,A
0023 A607              MOV     @R0,AR7
                                           ; SOURCE LINE # 232
0025 0500        R     INC     desc_idx
0027 E500        R     MOV     A,desc_idx
0029 B408ED            CJNE    A,#08H,?C0040
002C         ?C0041:
                                           ; SOURCE LINE # 233
002C 908027            MOV     DPTR,#RXC0
002F 7408              MOV     A,#08H
0031 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 234
0032 908023            MOV     DPTR,#TXC0
0035 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 235
0036 D299              SETB    TI
0038 7BFF              MOV     R3,#0FFH
003A 7A00        R     MOV     R2,#HIGH ?SC_0
003C 7900        R     MOV     R1,#LOW ?SC_0
003E 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 236
0041 E4                CLR     A
0042 F500        R     MOV     desc_idx,A
0044         ?C0043:
                                           ; SOURCE LINE # 237
                                           ; SOURCE LINE # 238
0044 7BFF              MOV     R3,#0FFH
0046 7A00        R     MOV     R2,#HIGH ?SC_2
0048 7900        R     MOV     R1,#LOW ?SC_2
004A 7400        R     MOV     A,#LOW usb_buf
004C 2500        R     ADD     A,desc_idx
C51 COMPILER V7.06   USB_DRV                                                               08/05/2007 09:42:58 PAGE 20  

004E F8                MOV     R0,A
004F E6                MOV     A,@R0
0050 750000      E     MOV     ?_printf?BYTE+03H,#00H
0053 F500        E     MOV     ?_printf?BYTE+04H,A
0055 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 240
0058 0500        R     INC     desc_idx
005A E500        R     MOV     A,desc_idx
005C C3                CLR     C
005D 9408              SUBB    A,#08H
005F 40E3              JC      ?C0043
0061         ?C0044:
                                           ; SOURCE LINE # 241
0061 850000      R     MOV     bmRequestType,usb_buf
                                           ; SOURCE LINE # 242
0064 850000      R     MOV     bmRequest,usb_buf+01H
                                           ; SOURCE LINE # 243
0067 E500        R     MOV     A,usb_buf
0069 5460              ANL     A,#060H
006B 706F              JNZ     ?C0058
                                           ; SOURCE LINE # 244
                                           ; SOURCE LINE # 245
006D E500        R     MOV     A,usb_buf+01H
006F 2402              ADD     A,#02H
0071 605F              JZ      ?C0055
0073 14                DEC     A
0074 6063              JZ      ?C0056
0076 14                DEC     A
0077 B40A00            CJNE    A,#0AH,?C0223
007A         ?C0223:
007A 5060              JNC     ?C0058
007C 900000      R     MOV     DPTR,#?C0224
007F F8                MOV     R0,A
0080 28                ADD     A,R0
0081 28                ADD     A,R0
0082 73                JMP     @A+DPTR
0083         ?C0224:
0083 020000      R     LJMP    ?C0048
0086 020000      R     LJMP    ?C0049
0089 020000      R     LJMP    ?C0058
008C 020000      R     LJMP    ?C0050
008F 020000      R     LJMP    ?C0058
0092 020000      R     LJMP    ?C0051
0095 020000      R     LJMP    ?C0052
0098 020000      R     LJMP    ?C0058
009B 020000      R     LJMP    ?C0053
009E 020000      R     LJMP    ?C0054
                                           ; SOURCE LINE # 246
                                           ; SOURCE LINE # 247
00A1         ?C0048:
                                           ; SOURCE LINE # 248
00A1 120000      R     LCALL   usb_get_status
                                           ; SOURCE LINE # 249
00A4 8036              SJMP    ?C0058
                                           ; SOURCE LINE # 250
00A6         ?C0049:
                                           ; SOURCE LINE # 251
00A6 120000      R     LCALL   usb_clear_feature
                                           ; SOURCE LINE # 252
00A9 8031              SJMP    ?C0058
                                           ; SOURCE LINE # 253
00AB         ?C0050:
C51 COMPILER V7.06   USB_DRV                                                               08/05/2007 09:42:58 PAGE 21  

                                           ; SOURCE LINE # 254
00AB 120000      R     LCALL   usb_set_feature
                                           ; SOURCE LINE # 255
00AE 802C              SJMP    ?C0058
                                           ; SOURCE LINE # 256
00B0         ?C0051:
                                           ; SOURCE LINE # 260
00B0 908020            MOV     DPTR,#EPC0
00B3 7440              MOV     A,#040H
00B5 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 261
00B6 E500        R     MOV     A,usb_buf+02H
00B8 4480              ORL     A,#080H
00BA 908004            MOV     DPTR,#FAR
00BD F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 262
00BE 801C              SJMP    ?C0058
                                           ; SOURCE LINE # 263
00C0         ?C0052:
                                           ; SOURCE LINE # 264
00C0 120000      R     LCALL   usb_get_descriptor
                                           ; SOURCE LINE # 265
00C3 8017              SJMP    ?C0058
                                           ; SOURCE LINE # 266
00C5         ?C0053:
                                           ; SOURCE LINE # 267
00C5 908021            MOV     DPTR,#TXD0
00C8 E500        R     MOV     A,usb_cfg
00CA F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 268
00CB 800F              SJMP    ?C0058
                                           ; SOURCE LINE # 270
00CD         ?C0054:
                                           ; SOURCE LINE # 271
00CD 120000      R     LCALL   usb_set_configuration
                                           ; SOURCE LINE # 272
00D0 800A              SJMP    ?C0058
                                           ; SOURCE LINE # 276
00D2         ?C0055:
                                     

⌨️ 快捷键说明

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