📄 dscr.a51
字号:
;;-----------------------------------------------------------------------------
;; File: dscr.a51
;; Contents: This file contains descriptor data tables.
;;
;; Copyright (c) 1997 AnchorChips, Inc. All rights reserved
;;
;; $Archive:$
;; $Date:$
;; $Revision:$
;;-----------------------------------------------------------------------------
DSCR_DEVICE equ 1 ;; Descriptor type: Device
DSCR_CONFIG equ 2 ;; Descriptor type: Configuration
DSCR_STRING equ 3 ;; Descriptor type: String
DSCR_INTRFC equ 4 ;; Descriptor type: Interface
DSCR_ENDPNT equ 5 ;; Descriptor type: Endpoint
DSCR_DEVQUAL equ 6 ;; Descriptor type: Device Qualifier
DSCR_DEVICE_LEN equ 18
DSCR_CONFIG_LEN equ 9
DSCR_INTRFC_LEN equ 9
DSCR_ENDPNT_LEN equ 7
DSCR_DEVQUAL_LEN equ 10
ET_CONTROL equ 0 ;; Endpoint type: Control
ET_ISO equ 1 ;; Endpoint type: Isochronous
ET_BULK equ 2 ;; Endpoint type: Bulk
ET_INT equ 3 ;; Endpoint type: Interrupt
MASS_STORAGE_CLASS EQU 8
MASS_STORAGE_SCSICMD EQU 6
MASS_STORAGE_BOT EQU 50h
DeviceDscrOffset EQU DeviceDscr - DeviceDscr
DeviceQualDscrOffset EQU DeviceQualDscr - DeviceDscr
HighSpeedConfigDscrOffset EQU HighSpeedConfigDscr - DeviceDscr
FullSpeedConfigDscrOffset EQU FullSpeedConfigDscr - DeviceDscr
StringDscrOffset EQU StringDscr - DeviceDscr
UserDscrOffset EQU UserDscr - DeviceDscr
IntrfcSubClassHighSpeedOffset EQU IntrfcSubClassHighSpeed - DeviceDscr
IntrfcSubClassFullSpeedOffset EQU IntrfcSubClassFullSpeed - DeviceDscr
SerialNumberOffset EQU SerialNumber - DeviceDscr
DscrEndOffset EQU DscrEnd - DeviceDscr
public DeviceDscr, DeviceQualDscr, HighSpeedConfigDscr, FullSpeedConfigDscr, StringDscr, UserDscr
public IntrfcSubClassHighSpeed, IntrfcSubClassFullSpeed, SerialNumber, DscrEnd
public DeviceDscrOffset, DeviceQualDscrOffset, HighSpeedConfigDscrOffset, FullSpeedConfigDscrOffset, StringDscrOffset, UserDscrOffset
public IntrfcSubClassHighSpeedOffset, IntrfcSubClassFullSpeedOffset, SerialNumberOffset, DscrEndOffset
public StringDscr0, StringDscr1, StringDscr2, StringDscr3
DSCR SEGMENT CODE PAGE
;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
rseg DSCR ;; locate the descriptor table in on-part memory.
DeviceDscr:
db DSCR_DEVICE_LEN ;; Descriptor length
db DSCR_DEVICE ;; Decriptor type
dw 0002H ;; Specification Version (BCD)
db 00H ;; Device class
db 00H ;; Device sub-class
db 00H ;; Device sub-sub-class
db 64 ;; Maximum packet size
dw 0B404H ;; Vendor ID (4b4)
dw 1146H ;; Product ID - set to new id = CY4611
; dw 0df0H ;; Product ID (Sample Device)
; dw 0210h ;; Sample device
dw 0000H ;; Product version ID
db 1 ;; Manufacturer string index
db 3 ;; Product string index
db 2 ;; Serial number string index
db 1 ;; Number of configurations
DeviceQualDscr:
db DSCR_DEVQUAL_LEN ;; Descriptor length
db DSCR_DEVQUAL ;; Decriptor type
dw 0002H ;; Specification Version (BCD)
db 00H ;; Device class
db 00H ;; Device sub-class
db 00H ;; Device sub-sub-class
db 64 ;; Maximum packet size
db 1 ;; Number of configurations
db 0 ;; Reserved
HighSpeedConfigDscr:
db DSCR_CONFIG_LEN ;; Descriptor length
db DSCR_CONFIG ;; Descriptor type
db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; Total Length (LSB)
db (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) / 256 ;; Total Length (MSB)
db 1 ;; Number of interfaces
db 1 ;; Configuration number
db 0 ;; Configuration string
db 11000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
db 0 ;; Power requirement (div 2 ma)
;; Interface Descriptor
db DSCR_INTRFC_LEN ;; Descriptor length
db DSCR_INTRFC ;; Descriptor type
db 0 ;; Zero-based index of this interface
db 0 ;; Alternate setting
db 2 ;; Number of end points
db 08H ;; Interface class -- Mass Storage
; db 0 ;; NOT Mass Storage -- use for testing
IntrfcSubClassHighSpeed:
db 06H ;; Interface sub class
db 50H ;; Interface sub sub class
db 0 ;; Interface descriptor string index
;; Endpoint Descriptor
db DSCR_ENDPNT_LEN ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H ;; Endpoint number, and direction
db ET_BULK ;; Endpoint type
db 00H ;; Maximun packet size (LSB)
db 02H ;; Max packect size (MSB)
db 00H ;; Polling interval
;; Endpoint Descriptor
db DSCR_ENDPNT_LEN ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 88H ;; Endpoint number, and direction
db ET_BULK ;; Endpoint type
db 00H ;; Maximun packet size (LSB)
db 02H ;; Max packect size (MSB)
db 00H ;; Polling interval
HighSpeedConfigDscrEnd:
FullSpeedConfigDscr:
db DSCR_CONFIG_LEN ;; Descriptor length
db DSCR_CONFIG ;; Descriptor type
db (FullSpeedConfigDscrEnd-FullSpeedConfigDscr) mod 256 ;; Total Length (LSB)
db (FullSpeedConfigDscrEnd-FullSpeedConfigDscr) / 256 ;; Total Length (MSB)
db 1 ;; Number of interfaces
db 1 ;; Configuration number
db 0 ;; Configuration string
db 11000000b ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
db 0 ;; Power requirement (div 2 ma)
;; Interface Descriptor
db DSCR_INTRFC_LEN ;; Descriptor length
db DSCR_INTRFC ;; Descriptor type
db 0 ;; Zero-based index of this interface
db 0 ;; Alternate setting
db 2 ;; Number of end points
db 08H ;; Interface class -- Mass Storage
IntrfcSubClassFullSpeed:
db 06H ;; Interface sub class
db 50H ;; Interface sub sub class
db 0 ;; Interface descriptor string index
;; Endpoint Descriptor
db DSCR_ENDPNT_LEN ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H ;; Endpoint number, and direction
db ET_BULK ;; Endpoint type
db 40H ;; Maximun packet size (LSB)
db 00H ;; Max packect size (MSB)
db 00H ;; Polling interval
;; Endpoint Descriptor
db DSCR_ENDPNT_LEN ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 88H ;; Endpoint number, and direction
db ET_BULK ;; Endpoint type
db 40H ;; Maximun packet size (LSB)
db 00H ;; Max packect size (MSB)
db 00H ;; Polling interval
FullSpeedConfigDscrEnd:
StringDscr:
StringDscr0:
db StringDscr0End-StringDscr0 ;; String descriptor length
db DSCR_STRING
db 09H,04H
StringDscr0End:
StringDscr1:
db StringDscr1End-StringDscr1 ;; String descriptor length
db DSCR_STRING
db 'C',00
db 'y',00
db 'p',00
db 'r',00
db 'e',00
db 's',00
db 's',00
StringDscr1End:
StringDscr2:
db StringDscr2End-StringDscr2 ;; String descriptor length
db DSCR_STRING
SerialNumber:
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '0',00
db '1',00
StringDscr2End:
StringDscr3:
db StringDscr3End-StringDscr3 ;; String descriptor length
db DSCR_STRING
db 'C',00
db 'y',00
db 'p',00
db 'r',00
db 'e',00
db 's',00
db 's',00
db ' ',00
db 'M',00
db 'a',00
db 's',00
db 's',00
db ' ',00
db 'S',00
db 't',00
db 'o',00
db 'r',00
db 'a',00
db 'g',00
db 'e',00
db ' ',00
db '2',00
db '.',00
db '1',00
db '0',00
db ' ',00
db ' ',00
db ' ',00
StringDscr3End:
UserDscr:
dw 0000H
DscrEnd:
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -