📄 des4.asm
字号:
;INCLUDE def.inc
Descript .Section at 0F00h 'code'
;-----BEGIN (Standard descriptor)
;--------------------------------------------------------------------------
;Device descriptor
;*******************************************************************************
DeviceD:
dw 00112H, 00110H, 00000H, 00800H, 01241H, 003f00h, 03fe0h,00100H, 00201H
DW 00100H
;bLengthD: DW 0012H ;Size of this descriptor in bytes (18)
;bDescriptorTypeD: DW 0001H ;Device descriptor type (1)
;bcdUSB: DW 0001H, 0001H ;USB specification release Number (1.0)
;bDeviceClass: DW 0000H ;Class code (assigned by USB) (0 ?)
;bDeviceSubClass: DW 0000H ;Subclass code
;bDeviceProtocol: DW 0000H ;Protocol code
;wMaxPacketSize0: DW 0008H ;Maximum packet size for endpoint zero (8)
;idVendor: DW 0012H, 0041H ;Vendor ID (assigned by USB) (?)
;idProduct: DW 00F0H, 0000H ;Product ID (assigned by manufacturer) (?)
;bcdDevice: DW 0000H, 0001H ;Device release number (1.0 ?)
;iManufacturer: DW 0001H ;Index of string descriptor (Manufacturer) (?)
;iProduct: DW 0002H ;Index of string descriptor (Product) (?)
;iSerialNumber: DW 0000H ;Index of string descriptor (Serial Number) (?)
;iNumConfigurations: DW 0001H ;Number of possible configuration
;-----------------------------------------------------------------------------
;*******************************************************************************
;Configuration descriptor
ConfigurationD:
DW 00209H
Wtotallength:
DW 003bH
bNumberInterface:
DW 00102H, 03f00h, 032a0h
;bLengthC: DW 0009H ;Size of this descriptor in bytes (9)
;bDescriptorTypeC: DW 0002H ;Configur descriptor type (2)
;wTotalLength: DW 003bH, 0000H
; ;Total length of data return for this configuration.
; ;Include: Configuration,Interface,Endpoint, and HID)
; ; 9 9 7 9
;bNumberInterface: DW 0002H ;Number of interfaces supported by this config.
;bConfigurationValue:DW 0001H ;The value set by Set configuration (1 ?)
;;According to the length of previous string(0 means no support)
;bConfiguration: DW 0000H ;Index of string descriptor (Configuration) (0 ?)
;bAttributes: DW 00A0H ;D7:BusPowered,D6:Selfpowered,D5:RemoteWakeup
;MaxPower: DW 0032H ;Maximum power (50 x 2 mA ?)
;-----------------------------------------------------------------------------
;*******************************************************************************
;Interface descriptor
InterfaceD_1:
DW 00409H, 00001H, 00301H, 00201H, 00000H
;bLengthI_0_1: DW 0009H ;Size of this descriptor in bytes (9)
;bDescriptorTypeI_0_1: DW 0004H ;Configur descriptor type (4)
;bInterfaceNumber_0_1: DW 0001H ;Number of interface (Zero-based 0)
;bAlternateSetting_0_1: DW 0000H ;Value used to select alternate setting (0)
;bNumEndpoints_0_1: DW 0001H ;Number of endpoints use by this interface (1)
;bInterfaceClass_0_1: DW 0003H ;Class code (HID code assigned by USB) (3)
;bInterfaceSubClass_0_1: DW 0001H ;Subclass code (Boot interface subclass)
;bInterfaceProtocol_0_1: DW 0002H ;Protocol coed (MOUSE) (1)
;;According to the length of previous string(0 means no support)
;iInterface_0_1: DW 0000H ;Index of string descriptor (Interface) (5 ?)
;-----------------------------------------------------------------------------
InterfaceD_2:
InterfaceD_0:
DW 00409H, 00000H, 00301h, 00101H, 00000H
;bLengthI_0_1: DW 0009H ;Size of this descriptor in bytes (9)
;bDescriptorTypeI_0_1: DW 0004H ;Configur descriptor type (4)
;bInterfaceNumber_0_1: DW 0000H ;Number of interface (Zero-based 0)
;bAlternateSetting_0_1: DW 0000H ;Value used to select alternate setting (0)
;bNumEndpoints_0_1: DW 0001H ;Number of endpoints use by this interface (1)
;bInterfaceClass_0_1: DW 0003H ;Class code (HID code assigned by USB) (3)
;bInterfaceSubClass_0_1: DW 0001H ;Subclass code (Boot interface subclass)
;bInterfaceProtocol_0_1: DW 0001H ;Protocol coed (kB) (1)
;;According to the length of previous string(0 means no support)
;iInterface_0_1: DW 0000H ;Index of string descriptor (Interface) (5 ?)
;-----------------------------------------------------------------------------
;*******************************************************************************
;Endpoint descriptor
EndpointD_1:
DW 00507H, 00382H, 00008H, 00008H
;bLengthE_0_1: DW 0007H ;Size of this descriptor in bytes (9)
;bDescriptorTypeE_0_1: DW 0005H ;Endpoint descriptor type (5)
;bEndpointAddress_0_1: DW 0082H ;The address of endpoint (81h)
; ;bit 0..3: The endpoint number 0001
; ;bit 4..6: reserved 000
; ;bit 7 : direction (0:Out/1:In) 1
;bmAttribute_0_1: DW 0003H ;Endpoint Attribute (03h)
; ;bit 0..1: transfer type
; ; 00 Control
; ; 01 Isochronous
; ; 10 Bulk
; ; 11 Interrupt
; ;All other reserved
;wMaxPacketSize_0_1: DW 0008H, 0000H ;Maximum packet size (8)
;
;;bInterval_0: DW 0008H ;Interval for polling endpoint (8 ms)
;bInterval_0_1: DW PollingTime ;Interval for polling endpoint (8 ms)
;-------------------------------------------------------------------------------
EndpointD_2:
EndpointD_0:
DW 00507H, 00381H, 00008H, 00008H
;bLengthE_0_1: DW 0007H ;Size of this descriptor in bytes (9)
;bDescriptorTypeE_0_1: DW 0005H ;Endpoint descriptor type (5)
;bEndpointAddress_0_1: DW 0081H ;The address of endpoint (81h)
; ;bit 0..3: The endpoint number 0001
; ;bit 4..6: reserved 000
; ;bit 7 : direction (0:Out/1:In) 1
;bmAttribute_0_1: DW 0003H ;Endpoint Attribute (03h)
; ;bit 0..1: transfer type
; ; 00 Control
; ; 01 Isochronous
; ; 10 Bulk
; ; 11 Interrupt
; ;All other reserved
;wMaxPacketSize_0_1: DW 0008H, 0000H ;Maximum packet size (8)
;bInterval_0: DW 0008H ;Interval for polling endpoint (8 ms)
;*******************************************************************************
;-----------------------------------------------------------------------------
;-----BIGIN (Class specific discriptor)
;-----------------------------------------------------------------------------
;HID descriptor
HID_1:
DW 02109H, 00110H, 00100H, 03422H, 00000H
;bLengthH_0: DW 0009H ;Size of this descriptor in bytes (8)
;bDescriptor_0: DW 0021H ;HID Descriptor type (1) (MemPhis)
;bDescriptor_0: DW 0001H ;HID Descriptor type (1)
;bcdHID_0: DW 0001H, 0001H ;HID Class spec. release number (1.00)
;bCountryCode_0: DW 0000H ;Hardware target country
;bNumDescriptors_0: DW 0001h ;Number of HID class descriptors to follow
;bDescriptorType_0: DW 0022H ;Entity descriptor type
;wEntityLength_0: DW 0034h
;-----------------------------------------------------------------------------
HID_2:
;Entity_length:
;dw 01D22H, 00000H
;-----------------------------------------------------------------------------
HID_0:
DW 02109H, 00110H, 00100H, 03F22H, 0003fH
;bLengthH_0: DW 0009H ;Size of this descriptor in bytes (8)
;bDescriptor_0: DW 0021H ;HID Descriptor type (1) (MemPhis)
;bDescriptor_0: DW 0001H ;HID Descriptor type (1)
;bcdHID_0: DW 0000H, 0001H ;HID Class spec. release number (1.00)
;bCountryCode_0: DW 0000H ;Hardware target country
;bNumDescriptors_0: DW 0001h ;Number of HID class descriptors to follow
;bDescriptorType_0: DW 0022H ;Entity descriptor type
;wEntityLength_0: DW 003fh
;-----------------------------------------------------------------------------
;*******************************************************************************
;Entity descriptor
Entity_1:
;-----------------------------------------------------------------------------
dw 00105H, 00209H, 001A1H, 00109H, 000A1H, 00905H, 00119H, 00529H
DW 00015H, 00125H, 00595H, 00175H, 00281H, 00195H, 00375H, 00181H
DW 00105H, 03009H, 03109H, 03809H, 03f15h, 02581h, 03f7fh, 00875H, 00395H
DW 00681H, 03fC0h, 03fC0H
;entity_1:
; DW 0005H, 0001H ;Usage Pg(Generic Desktop)
; DW 0009H, 0002H ;Usage (Mouse)
; DW 00A1H, 0001H ;Collection: (Application)
;
; DW 0009H, 0001H ;Usage (Pointer)
; DW 00A1H, 0000H ;Collection (Linked)
; DW 0005H, 0009H ;Usage(Button)
; DW 0019H, 0001H ;Usage Min (#)
; DW 0029H, 0005H ;Usage Max (#)
; DW 0015H, 0000H ;Log Min (0)
; DW 0025H, 0001H ;Log Max (1)
; DW 0095H, 0005H ;Report count (3)
; DW 0075H, 0001H ;Report Size (1)
; DW 0081H, 0002H ;Input: (Data, Variable, Absolute)
; DW 0095H, 0001H ;Report Count (1)
; DW 0075H, 0003H ;Report Size (5)
; DW 0081H, 0001H ;Input: (Constant)
;
; DW 0005H, 0001H ;Usage Pg (Generic Desktop)
; DW 0009H, 0030H ;Usage (X)
; DW 0009H, 0031H ;Usage (Y)
; DW 0009H, 0038H ;Usage (Wheel)
; DW 0015H, 0081H ;Log Min (-127)
; DW 0025H, 007FH ;Log Max (127)
; DW 0075H, 0008H ;Report Size (8)
; DW 0095H, 0003H ;Report Count (3)
; DW 0081H, 0006H ;Input: (Data, Variable, Relative)
;
;
; DW 00C0H ;End Collection
; DW 00C0H ;End Collection
;-----------------------------------------------------------------------------
Entity_0: ;63 3FH
DW 00105H, 00609H, 001A1H, 00705H, 03f19h, 03fE0H, 03f29h, 03fE7H, 00015H, 00125H
DW 00175H, 00895H, 00281H, 00195H, 00875H, 00181H, 00395H, 00175H
DW 00805H, 00119H, 00329H, 00291H, 00595H, 00175H, 00191H, 00695H
DW 00875H, 00015H, 03f25h, 03f65H, 00705H, 00019H, 03f29h, 03f65H, 00081H, 000C0H
; DW 0005H, 0001H ;Usage Pg(Generic Desktop)
; DW 0009H, 0006H ;Usage (Keybaord)
; DW 00A1H, 0001H ;Collection: (Application)
;
; DW 0005H, 0007H ;Usage Pg (Key Codes)
; DW 0019H, 00E0H ;Usage Min (#)
; DW 0029H, 00E7H ;Usage Max (#)
; DW 0015H, 0000H ;Log Min (0)
; DW 0025H, 0001H ;Log Max (1)
; DW 0075H, 0001H ;Report Size (1)
; DW 0095H, 0008H ;Report count (8)
; DW 0081H, 0002H ;Input: (Data, Variable, Absolute)
;
; DW 0095H, 0001H ;Report Count (1)
; DW 0075H, 0008H ;Report Size (8)
; DW 0081H, 0001H ;Input: (Constant)
;
; DW 0095H, 0003H ;Report Count (3)
; DW 0075H, 0001H ;Report Size (1)
; DW 0005H, 0008H ;Usage Pg (Pg# for LEDs)
; DW 0019H, 0001H ;Usage Min (#)
; DW 0029H, 0003H ;Usage Max (#)
; DW 0091H, 0002H ;Output: (Data, Variable, Absolute)
; DW 0095H, 0005H ;Report Count (5)
; DW 0075H, 0001H ;Report Size (1)
; DW 0091H, 0001H ;Output: (Constant)
;
; DW 0095H, 0006H ;Report Count (6)
; DW 0075H, 0008H ;Report Size (8)
; DW 0015H, 0000H ;Log Min (0)
; DW 0025H, 0065H ;Log Max (101)
; DW 0005H, 0007H ;Usage Pg (Key Codes)
; DW 0019H, 0000H ;Usage Min (#)
; DW 0029H, 0065H ;Usage Max (#)
; DW 0081H, 0000H ;Input: (Data, Array)
;
; DW 00C0H ;End Collection
;-----------------------------------------------------------------------------
USB_mouse_chk:
LANGID:
dw 0304h, 00409h
ManufactureS:
dw 0030eh, 00048h, 0004fh, 0004ch, 00054h, 00045h, 0004bh ;HOLTEK
ProductS:
dw 0031ah
dw 00055h, 00053h, 00042h, 00020h, 0004Bh, 00065h,00079h ;USB Keyboard
dw 00062h,0006fh, 00061h, 00072h, 00064h
;-----------------------------------------------------------------------------
;-----END (Class specific discriptor)
PUBLIC DeviceD
PUBLIC ConfigurationD
PUBLIC InterfaceD_0
PUBLIC EndpointD_0
PUBLIC HID_0
PUBLIC Entity_0
PUBLIC InterfaceD_1
PUBLIC EndpointD_1
PUBLIC HID_1
PUBLIC Entity_1
PUBLIC InterfaceD_2
PUBLIC EndpointD_2
PUBLIC HID_2
;PUBLIC Entity_2
;PUBLIC bAttributes
;public wEntityLength_0
public LANGID
public ManufactureS
public ProductS
public Wtotallength
public bNumberInterface
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -