📄 chap_9.lst
字号:
0042 04 INC A
0043 FF MOV R7,A
0044 7D01 MOV R5,#01H
0046 120000 E LCALL _D12_SetEndpointStatus
0049 800A SJMP ?C0026
004B ?C0025:
; SOURCE LINE # 214
004B E500 R MOV A,endp
004D 25E0 ADD A,ACC
004F FF MOV R7,A
C51 COMPILER V4.01, CHAP_9 07/07/01 13:16:08 PAGE 10
0050 7D01 MOV R5,#01H
0052 120000 E LCALL _D12_SetEndpointStatus
0055 ?C0026:
; SOURCE LINE # 215
0055 7B00 MOV R3,#00H
0057 7A00 MOV R2,#00H
0059 7900 MOV R1,#00H
005B E4 CLR A
005C FD MOV R5,A
005D 120000 E LCALL _single_transmit
; SOURCE LINE # 216
0060 22 RET
0061 ?C0024:
; SOURCE LINE # 217
0061 120000 E LCALL stall_ep0
; SOURCE LINE # 218
0064 ?C0028:
0064 22 RET
; FUNCTION set_feature (END)
; FUNCTION set_address (BEGIN)
; SOURCE LINE # 220
; SOURCE LINE # 221
; SOURCE LINE # 222
0000 E500 E MOV A,ControlData+03H
0002 547F ANL A,#07FH
0004 FF MOV R7,A
0005 7D01 MOV R5,#01H
0007 120000 E LCALL _D12_SetAddressEnable
; SOURCE LINE # 224
000A 7B00 MOV R3,#00H
000C 7A00 MOV R2,#00H
000E 7900 MOV R1,#00H
0010 E4 CLR A
0011 FD MOV R5,A
0012 120000 E LCALL _single_transmit
; SOURCE LINE # 225
0015 22 RET
; FUNCTION set_address (END)
; FUNCTION get_descriptor (BEGIN)
; SOURCE LINE # 227
; SOURCE LINE # 228
; SOURCE LINE # 229
0000 E500 E MOV A,ControlData+02H
0002 F500 R MOV bDescriptor,A
; SOURCE LINE # 231
0004 E500 R MOV A,bDescriptor
0006 B4010C CJNE A,#01H,?C0030
; SOURCE LINE # 232
0009 7E00 R MOV R6,#HIGH DeviceDescr
000B 7F00 R MOV R7,#LOW DeviceDescr
000D 7D12 MOV R5,#012H
000F 7C00 MOV R4,#00H
0011 120000 E LCALL _code_transmit
; SOURCE LINE # 233
0014 22 RET
0015 ?C0030:
0015 E500 R MOV A,bDescriptor
0017 B4020C CJNE A,#02H,?C0032
; SOURCE LINE # 234
001A 7E00 R MOV R6,#HIGH ConfigDescr
001C 7F00 R MOV R7,#LOW ConfigDescr
001E 7D2E MOV R5,#02EH
0020 7C00 MOV R4,#00H
0022 120000 E LCALL _code_transmit
C51 COMPILER V4.01, CHAP_9 07/07/01 13:16:08 PAGE 11
; SOURCE LINE # 235
0025 22 RET
0026 ?C0032:
; SOURCE LINE # 236
0026 120000 E LCALL stall_ep0
; SOURCE LINE # 237
0029 ?C0034:
0029 22 RET
; FUNCTION get_descriptor (END)
; FUNCTION get_configuration (BEGIN)
; SOURCE LINE # 239
; SOURCE LINE # 240
; SOURCE LINE # 241
0000 AF00 E MOV R7,bEPPflags+01H
0002 EF MOV A,R7
0003 5401 ANL A,#01H
0005 F500 R MOV c,A
; SOURCE LINE # 243
0007 7B04 MOV R3,#04H
0009 7A00 R MOV R2,#HIGH c
000B 7900 R MOV R1,#LOW c
000D 7D01 MOV R5,#01H
000F 120000 E LCALL _single_transmit
; SOURCE LINE # 244
0012 22 RET
; FUNCTION get_configuration (END)
; FUNCTION set_configuration (BEGIN)
; SOURCE LINE # 246
; SOURCE LINE # 247
; SOURCE LINE # 248
0000 E500 E MOV A,ControlData+03H
0002 4500 E ORL A,ControlData+02H
0004 7016 JNZ ?C0036
; SOURCE LINE # 250
0006 FB MOV R3,A
0007 FA MOV R2,A
0008 F9 MOV R1,A
0009 FD MOV R5,A
000A 120000 E LCALL _single_transmit
; SOURCE LINE # 251
000D C2AF CLR EA
; SOURCE LINE # 252
000F AF00 E MOV R7,bEPPflags+01H
0011 EF MOV A,R7
0012 54FE ANL A,#0FEH
0014 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 253
0016 D2AF SETB EA
; SOURCE LINE # 254
0018 120000 E LCALL init_unconfig
; SOURCE LINE # 255
001B 22 RET
001C ?C0036:
001C E500 E MOV A,ControlData+03H
001E 6401 XRL A,#01H
0020 4500 E ORL A,ControlData+02H
0022 7019 JNZ ?C0038
; SOURCE LINE # 257
0024 FB MOV R3,A
0025 FA MOV R2,A
0026 F9 MOV R1,A
0027 FD MOV R5,A
0028 120000 E LCALL _single_transmit
; SOURCE LINE # 259
C51 COMPILER V4.01, CHAP_9 07/07/01 13:16:08 PAGE 12
002B 120000 E LCALL init_unconfig
; SOURCE LINE # 260
002E 120000 E LCALL init_config
; SOURCE LINE # 262
0031 C2AF CLR EA
; SOURCE LINE # 263
0033 AF00 E MOV R7,bEPPflags+01H
0035 EF MOV A,R7
0036 4401 ORL A,#01H
0038 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 264
003A D2AF SETB EA
; SOURCE LINE # 265
003C 22 RET
003D ?C0038:
; SOURCE LINE # 266
003D 120000 E LCALL stall_ep0
; SOURCE LINE # 267
0040 ?C0040:
0040 22 RET
; FUNCTION set_configuration (END)
; FUNCTION get_interface (BEGIN)
; SOURCE LINE # 269
; SOURCE LINE # 270
; SOURCE LINE # 271
0000 E4 CLR A
0001 F500 R MOV txdat,A
; SOURCE LINE # 272
0003 7B04 MOV R3,#04H
0005 7A00 R MOV R2,#HIGH txdat
0007 7900 R MOV R1,#LOW txdat
0009 7D01 MOV R5,#01H
000B 120000 E LCALL _single_transmit
; SOURCE LINE # 273
000E 22 RET
; FUNCTION get_interface (END)
; FUNCTION set_interface (BEGIN)
; SOURCE LINE # 275
; SOURCE LINE # 276
; SOURCE LINE # 277
0000 E500 E MOV A,ControlData+03H
0002 4500 E ORL A,ControlData+02H
0004 700E JNZ ?C0042
0006 E500 E MOV A,ControlData+05H
0008 4500 E ORL A,ControlData+04H
000A 7008 JNZ ?C0042
; SOURCE LINE # 278
000C FB MOV R3,A
000D FA MOV R2,A
000E F9 MOV R1,A
000F FD MOV R5,A
0010 120000 E LCALL _single_transmit
0013 22 RET
0014 ?C0042:
; SOURCE LINE # 280
0014 120000 E LCALL stall_ep0
; SOURCE LINE # 281
0017 ?C0044:
0017 22 RET
; FUNCTION set_interface (END)
C51 COMPILER V4.01, CHAP_9 07/07/01 13:16:08 PAGE 13
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
_IO_REQUEST. . . . . . . . . . . . . . * TAG * ----- STRUCT ----- 6
uAddressL. . . . . . . . . . . . . . MEMBER ----- U_INT 0000H 2
bAddressH. . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
uSize. . . . . . . . . . . . . . . . MEMBER ----- U_INT 0003H 2
bCommand . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0005H 1
MCU_D12CS. . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
PTWAIN_FILEINFO. . . . . . . . . . . . TYPEDEF ----- PTR ----- 3
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
ULONG. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
USB_STRING_DESCRIPTOR. . . . . . . . . TYPEDEF ----- STRUCT ----- 3
bLength. . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
bDescriptorType. . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
bString. . . . . . . . . . . . . . . MEMBER ----- ARRAY 0002H 1
stall_ep0. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
InterfaceDescr . . . . . . . . . . . . PUBLIC CODE STRUCT 001BH 9
USB_CONFIGURATION_DESCRIPTOR . . . . . TYPEDEF ----- STRUCT ----- 9
bLength. . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
bDescriptorType. . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
wTotalLength . . . . . . . . . . . . MEMBER ----- U_INT 0002H 2
bNumInterfaces . . . . . . . . . . . MEMBER ----- U_CHAR 0004H 1
bConfigurationValue. . . . . . . . . MEMBER ----- U_CHAR 0005H 1
iConfiguration . . . . . . . . . . . MEMBER ----- U_CHAR 0006H 1
bmAttributes . . . . . . . . . . . . MEMBER ----- U_CHAR 0007H 1
MaxPower . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0008H 1
USB_HUB_DESCRIPTOR . . . . . . . . . . TYPEDEF ----- STRUCT ----- 71
bDescriptorLength. . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
bDescriptorType. . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
bNumberOfPorts . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
wHubCharacteristics. . . . . . . . . MEMBER ----- U_INT 0003H 2
bPowerOnToPowerGood. . . . . . . . . MEMBER ----- U_CHAR 0005H 1
bHubControlCurrent . . . . . . . . . MEMBER ----- U_CHAR 0006H 1
bRemoveAndPowerMask. . . . . . . . . MEMBER ----- ARRAY 0007H 64
PUSB_POWER_DESCRIPTOR. . . . . . . . . TYPEDEF ----- PTR ----- 3
init_config. . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
_D12_SelectEndpoint. . . . . . . . . . EXTERN CODE PROC ----- -----
USB_ENDPOINT_DESCRIPTOR. . . . . . . . TYPEDEF ----- STRUCT ----- 7
bLength. . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
bDescriptorType. . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
bEndpointAddress . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
bmAttributes . . . . . . . . . . . . MEMBER ----- U_CHAR 0003H 1
wMaxPacketSize . . . . . . . . . . . MEMBER ----- U_INT 0004H 2
bInterval. . . . . . . . . . . . . . MEMBER ----- U_CHAR 0006H 1
_TWAIN_FILEINFO. . . . . . . . . . . . * TAG * ----- STRUCT ----- 3
bPage. . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
uSizeH . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0001H 1
uSizeL . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
PUSB_INTERFACE_DESCRIPTOR. . . . . . . TYPEDEF ----- PTR ----- 3
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
_epp_flags . . . . . . . . . . . . . . * TAG * ----- UNION ----- 2
bits . . . . . . . . . . . . . . . . MEMBER ----- STRUCT 0000H 2
value. . . . . . . . . . . . . . . . MEMBER ----- U_INT 0000H 2
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
set_address. . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
C51 COMPILER V4.01, CHAP_9 07/07/01 13:16:08 PAGE 14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -