亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usbhidio.lst

?? visual basic 開發的usb hid類應用程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
02B2            ;The low byte of wValue contains the descriptor index.
02B2            
02B2 1A 73 [06]         mov A, [wValueHi]               ; load descriptor type
02B4            
02B4            ;Test for standard descriptor types first.
02B4            ;Supported descriptor types are device, configuration, string.
02B4            ;Unsupported descriptor types are interface, endpoint.
02B4            
02B4            ; Get Descriptor (device)               wValueHi = 1
02B4 16 01 [04]      cmp A, device
02B6 A3 1C [05]      jz GetDeviceDescriptor
02B8            ; Get Descriptor (configuration)        wValueHi = 2
02B8 16 02 [04]      cmp A, configuration
02BA A3 26 [05]      jz GetConfigurationDescriptor
02BC            ; Get Descriptor (string)               wValueHi = 3
02BC 16 03 [04]      cmp A, string
02BE A3 2E [05]      jz GetStringDescriptor
02C0            
02C0            ; Test for HID-class descriptor types.
02C0            ; Get Descriptor (HID)                  wValueHi = 21h
02C0 16 21 [04]         cmp A, HID
02C2 A3 5D [05]         jz GetHIDDescriptor
02C4            ; Get Descriptor (report)               wValueHi = 22h  
02C4 16 22 [04]      cmp A, report
02C6 A3 07 [05]      jz GetReportDescriptor
02C8            ; Get Descriptor (physical)             wValueHi = 23h  *** not supported ***
02C8            ;Stall unsupported requests.
02C8 81 AD [05]      jmp SendStall
02CA            
02CA            GetConfiguration:
02CA            ;Send the current device configuration.
02CA            ;0 = unconfigured, 1 = configured.
02CA            
02CA            ;Send 1 byte
02CA 19 01 [04]         mov A, 1
02CC 31 28 [05]         mov [data_count], A
02CE            ;Get the address of the data to send.
02CE 19 A6 [04]         mov A, (get_configuration_status_table - control_read_table)
02D0            ;Add an index to point to the correct configuration.
02D0 02 31 [06]         add A, [configuration_status]
02D2            ;Send the data.
02D2 83 3E [05]         jmp SendDescriptor
02D4            
02D4            GetInterfaceStatus:
02D4            ;Interface status is 2 bytes, which are always 0.
02D4            ;Send 2 bytes.
02D4 19 02 [04]         mov A, 2
02D6 31 28 [05]         mov [data_count], A
02D8            ;Get the address of the data to send.
02D8 19 A0 [04]         mov A, (get_interface_status_table - control_read_table)
02DA            ;Send the data.
02DA 83 3E [05]         jmp SendDescriptor
02DC            
02DC            GetEndpointStatus:
02DC            ;Endpoint status is 2 bytes.
02DC            ;Bit 0 = 0 when the endpoint is not stalled.
02DC            ;Bit 0 = 1 when the endpoint is stalled.
02DC            ;All other bits are unused.
02DC            ;Send 2 bytes.
02DC 19 02 [04]         mov A, 2
02DE 31 28 [05]         mov [data_count], A
02E0            ;Get the stall status.
02E0 1A 29 [06]         mov A, [endpoint_stall]
02E2            ;Shift left to get an index (0 or 2) for the endpoint status table
02E2 3B    [04]         asl A
02E3            ;Get the address of the data to send.
02E3 01 A2 [04]         add A, (get_endpoint_status_table - control_read_table)
02E5            ;Send the data.
02E5 83 3E [05]         jmp SendDescriptor
02E7            
02E7            SetReport:
02E7            ;The CY7C63000 doesn't support interrupt-mode OUT transfers.
02E7            ;So the host uses Control transfers with Set_Report requests
02E7            ;to get data from the device.
02E7            
02E7            ;Get the report data.
02E7            
02E7            ;For debugging: set Port 0, bit 0 =1 to show that we're here.
02E7 29 00 [05]       iord Port0_Data
02E9 0D 01 [04]       or a, 1
02EB 2A 00 [05]       iowr Port0_Data
02ED            
02ED            ;Find out how many bytes to read. This value is in WLength.
02ED            ;Save the length in data_count.
02ED 1A 76 [06]      mov A, [wLength]
02EF 31 28 [05]      mov [data_count], A
02F1            
02F1            ;Enable receiving data at endpoint 0 by setting the EnableOuts bit
02F1            ;The bit is cleared following any Setup or OUT transaction.
02F1 29 13 [05]      iord USB_Status_Control
02F3 0D 10 [04]      or A, 10h
02F5            ;Clear the StatusOuts bit to disable auto-Ack after receiving a valid 
02F5            ;status packet in a Control read (IN) transfer.
02F5            ;Otherwise, the USB engine will respond to a data OUT packet with a stall.
02F5 10 F7 [04]      and A, F7h
02F7 2A 13 [05]      iowr USB_Status_Control
02F9            ;Now we're ready to receive the report data.
02F9            ;An Endpoint 0 OUT interrupt signals the arrival of the report data.
02F9 3F    [08] ret
02FA            
02FA            SetIdle:
02FA 81 AD [05]         jmp SendStall   ; *** not supported ***
02FC            
02FC            SetProtocol:
02FC            ;Switches between a boot protocol (wValue=0) and report protocol (wValue=1).
02FC            ;This firmware doesn't distinguish between protocols.
02FC 1A 72 [06]         mov A, [wValue]
02FE 20    [04]         NOP
02FF 1F    [04]         XPAGE
0300 31 34 [05]         mov [protocol_status], A
0302 93 79 [10]         call Send0ByteDataPacket
0304 3F    [08]         ret
0305            
0305            GetReport:
0305            ;Sends a report to the host.
0305            ;The high byte of wValue contains the report type. 
0305            ;The low byte of wValue contains the report ID.
0305            ;Not supported (Use interrupt transfers to send data.)
0305 81 AD [05]      jmp SendStall
0307            
0307            GetReportDescriptor:
0307            ;Save the descriptor length
0307 19 34 [04]      mov A, (end_hid_report_desc_table - hid_report_desc_table)
0309 31 28 [05]      mov [data_count], A
030B            ;Get the descriptor's starting address.
030B 19 34 [04]      mov A, (hid_report_desc_table - control_read_table)
030D 93 3E [10]      call SendDescriptor
030F            
030F 3F    [08]       ret
0310            
0310            GetIdle:
0310            ;Not supported
0310 81 AD [05]         jmp SendStall
0312            
0312            GetProtocol:
0312            ;Send the current protocol status.
0312            ;Send 1 byte.
0312 19 01 [04]         mov A, 1
0314 31 28 [05]         mov [data_count], A
0316            ;Get the address of the data to send.
0316 19 A8 [04]         mov A, (get_protocol_status_table - control_read_table)
0318            ;Add an index that points to the correct data.
0318 02 34 [06]         add A, [protocol_status]
031A            ;Send the data.
031A 83 3E [05]         jmp SendDescriptor
031C                    
031C            ; Standard Get Descriptor routines
031C            ;
031C            ;Send the device descriptor.
031C            GetDeviceDescriptor:
031C            ;Get the length of the descriptor
031C            ;(stored in the first byte in the device descriptor table).
031C 19 00 [04]         mov A, 0
031E F3 E6 [14]        index device_desc_table
0320 31 28 [05]         mov [data_count], A
0322            ;Get the starting address of the descriptor.
0322 19 00 [04]         mov A, (device_desc_table - control_read_table)
0324            ;Send the descriptor.
0324 83 3E [05]         jmp SendDescriptor
0326            
0326            GetConfigurationDescriptor:
0326            ;Send the configuration descriptor.
0326            ;Get the length of the descriptor.
0326 19 22 [04]      mov A, (end_config_desc_table - config_desc_table)
0328 31 28 [05]       mov [data_count], A
032A            ;Get the starting address of the descriptor.
032A 19 12 [04]      mov A, (config_desc_table - control_read_table)
032C            ;Send the descriptor.
032C 83 3E [05]      jmp SendDescriptor
032E            
032E            GetStringDescriptor:
032E            ;Use the string index to find out which string it is.
032E 1A 72 [06]      mov A, [wValue]
0330 16 00 [04]      cmp A, 0h
0332 A3 45 [05]      jz LanguageString
0334 16 01 [04]      cmp A, 01h
0336 A3 4D [05]      jz ManufacturerString
0338 16 02 [04]      cmp A, 02h
033A A3 55 [05]      jz ProductString
033C            ;     cmp A, 03h
033C            ;     jz SerialNumString
033C            ;     cmp A, 04h
033C            ;     jz ConfigurationString
033C            ;     cmp A, 05h
033C            ;     jz InterfaceString
033C            ; No other strings supported
033C 81 AD [05]       jmp SendStall
033E            
033E            SendDescriptor:
033E            ;The starting address of the descriptor is in the accumulator. Save it.
033E 31 27 [05]         mov [data_start], A
0340            ;Get the descriptor length.
0340 93 66 [10]         call get_descriptor_length
0342            ;Send the descriptor.
0342 93 8A [10]         call control_read
0344 3F    [08]         ret
0345            
0345            ;Send the requested string.
0345            ;For each, store the descriptor length in data_count, then send the descriptor.
0345            LanguageString:
0345 19 04 [04]      mov A, (USBStringDescription1 - USBStringLanguageDescription)
0347 31 28 [05]       mov [data_count], A
0349 19 68 [04]      mov A, (USBStringLanguageDescription - control_read_table)
034B 83 3E [05]       jmp SendDescriptor
034D            ManufacturerString:     
034D 19 1A [04]      mov A, ( USBStringDescription2 - USBStringDescription1)
034F 31 28 [05]       mov [data_count], A
0351 19 6C [04]      mov A, (USBStringDescription1 - control_read_table)
0353 83 3E [05]       jmp SendDescriptor
0355            ProductString:
0355 19 16 [04]      mov A, ( USBStringDescription3 - USBStringDescription2)
0357 31 28 [05]       mov [data_count], A
0359 19 86 [04]      mov A, (USBStringDescription2 - control_read_table)
035B 83 3E [05]       jmp SendDescriptor
035D            ;SerialNumString:
035D            ;     mov A, ( USBStringDescription4 - USBStringDescription3)
035D            ;      mov [data_count], A
035D            ;     mov A, (USBStringDescription3 - control_read_table)
035D            ;      jmp SendDescriptor
035D            ;ConfigurationString:
035D            ;     mov A, ( USBStringDescription5 - USBStringDescription4)
035D            ;      mov [data_count], A
035D            ;     mov A, (USBStringDescription4 - control_read_table)
035D            ;      jmp SendDescriptor
035D            ;InterfaceString:
035D            ;     mov A, ( USBStringEnd - USBStringDescription5)
035D            ;      mov [data_count], A
035D            ;     mov A, (USBStringDescription5 - control_read_table)
035D            ;      jmp SendDescriptor
035D            
035D            ; HID class Get Descriptor routines
035D            ;
035D            GetHIDDescriptor:
035D            ;Send the HID descriptor.
035D            ;Get the length of the descriptor.
035D 19 09 [04]      mov A, (Endpoint_Descriptor - Class_Descriptor)
035F 31 28 [05]       mov [data_count], A
0361            ;Get the descriptor's starting address.
0361 19 24 [04]      mov A, ( Class_Descriptor - control_read_table)
0363            ;Send the descriptor.
0363 93 3E [10]       call SendDescriptor
0365 3F    [08]       ret
0366            
0366            ;======================================================================
0366            ;USB support routines
0366            ;======================================================================
0366            
0366            get_descriptor_length:
0366            ;The host sometimes lies about the number of bytes it
0366            ; wants from a descriptor.
0366            ;A request to get a descriptor should return the smaller of the number 
0366            ;of bytes requested or the actual length of the descriptor.
0366            ;Get the requested number of bytes to send
0366 1A 77 [06]      mov A, [wLengthHi]
0368            ;If the requested high byte is >0, 
0368            ;ignore the high byte and use the firmware's value.
0368            ;(255 bytes is the maximum allowed.)
0368 16 00 [04]      cmp A, 0
036A B3 78 [05]      jnz use_actual_length
036C            ;If the low byte =0, use the firmware's value.
036C 1A 76 [06]      mov A, [wLength]
036E 16 00 [04]      cmp A, 0
0370 A3 78 [05]      jz use_actual_length
0372            ;If the requested number of bytes => the firmware's value,
0372            ;use the firmware's value.
0372 17 28 [06]      cmp A, [data_count]
0374 D3 78 [05]      jnc use_actual_length
0376            ;If the requested number of bytes < the firmware's value,
0376            ;use the requested number of bytes.
0376 31 28 [05]      mov [data_count], A
0378            use_actual_length:
0378 3F    [08]         ret
0379            
0379          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美腿丝袜亚洲色图| 国产精品色在线观看| 色综合天天综合在线视频| 国产精品亚洲第一| 国产一区二区在线视频| 国产精品一区二区果冻传媒| 狠狠狠色丁香婷婷综合激情| 九一九一国产精品| 九九在线精品视频| 国产宾馆实践打屁股91| 国产91精品免费| av在线播放成人| 欧美色视频在线| 日韩精品中文字幕在线不卡尤物 | 亚洲精品欧美激情| 亚洲综合视频在线观看| 日韩精品一二区| 激情综合色播五月| 成人综合在线网站| 欧美系列在线观看| 精品久久一区二区| 欧美高清在线精品一区| 亚洲蜜桃精久久久久久久| 午夜av电影一区| 精品无人区卡一卡二卡三乱码免费卡| 国产裸体歌舞团一区二区| 91小视频在线观看| 欧美一区二区三区思思人| 国产人久久人人人人爽| 亚洲国产成人tv| 国产福利精品导航| 欧美三级视频在线观看| 337p日本欧洲亚洲大胆精品| 亚洲视频免费在线| 久久99精品国产| 一本色道亚洲精品aⅴ| 日韩视频一区二区三区| 18成人在线观看| 青青草成人在线观看| 成人高清av在线| 欧美zozozo| 亚洲自拍另类综合| 久久99精品久久久久久久久久久久 | 久久久综合激的五月天| 亚洲免费av在线| 国产麻豆视频一区| 8x8x8国产精品| 中文字幕综合网| 国内精品免费**视频| 欧美亚洲国产一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 亚洲成人精品影院| av在线播放成人| 国产欧美一区二区精品性色超碰| 亚洲成av人**亚洲成av**| av亚洲精华国产精华精华| 日韩免费看网站| 五月激情综合色| 色婷婷av一区二区三区gif| 国产日韩欧美精品一区| 麻豆精品在线看| 欧美日韩色综合| 亚洲欧美精品午睡沙发| 国产成人av电影| 久久久亚洲国产美女国产盗摄| 日韩精品每日更新| 欧美日韩成人综合在线一区二区| 亚洲精品视频免费看| 91视频xxxx| 亚洲日本va午夜在线影院| 国产激情偷乱视频一区二区三区| 日韩你懂的电影在线观看| 首页综合国产亚洲丝袜| 欧美日韩aaaaaa| 亚洲大型综合色站| 欧美日韩国产高清一区二区三区 | 最新热久久免费视频| 成人sese在线| 亚洲欧美另类图片小说| 91久久精品一区二区二区| 亚洲日本va在线观看| 色婷婷亚洲精品| 亚洲成人免费av| 欧美一区二区三区四区五区| 美女精品自拍一二三四| 精品国产免费久久| 国产黄色精品网站| 中文字幕一区二区三区在线观看| av网站一区二区三区| 亚洲精品少妇30p| 欧美日韩高清不卡| 激情综合网激情| 国产精品国产三级国产aⅴ入口| 97se亚洲国产综合在线| 亚洲国产成人porn| 欧美不卡在线视频| 成人av动漫在线| 亚洲一区二区三区不卡国产欧美| 欧美区一区二区三区| 精品在线一区二区三区| 国产精品福利一区| 欧美日韩免费在线视频| 紧缚奴在线一区二区三区| 亚洲国产精品传媒在线观看| 在线观看av不卡| 麻豆精品视频在线观看视频| 亚洲国产精品成人综合色在线婷婷| 99视频有精品| 免费看欧美美女黄的网站| 中国色在线观看另类| 一本久道久久综合中文字幕| 麻豆视频一区二区| 亚洲婷婷综合色高清在线| 51精品视频一区二区三区| 成人午夜精品一区二区三区| 亚洲成a天堂v人片| 国产精品久久久久久久岛一牛影视 | 欧美亚洲图片小说| 国产一区二区剧情av在线| 一区二区三区高清在线| 久久一夜天堂av一区二区三区 | 日韩一区欧美二区| 中文在线一区二区| 91精品国产乱| 日本精品裸体写真集在线观看| 久久99久久久久久久久久久| 一区二区三区精品久久久| 久久精品亚洲精品国产欧美 | 成人免费毛片片v| 捆绑调教美女网站视频一区| 亚洲乱码国产乱码精品精可以看| 久久久蜜桃精品| 日韩精品专区在线影院观看| 欧美性做爰猛烈叫床潮| 97se亚洲国产综合自在线 | 国产精品伦一区| 久久久久久久久一| 日韩精品一区二区三区四区 | 粉嫩高潮美女一区二区三区 | 美国毛片一区二区三区| 一卡二卡欧美日韩| 亚洲天堂成人网| 《视频一区视频二区| 亚洲国产精品激情在线观看| 久久免费的精品国产v∧| 日韩欧美国产午夜精品| 欧美日韩国产一级| 欧美视频一区二区三区在线观看 | 在线不卡的av| 9191国产精品| 91精品欧美久久久久久动漫| 欧美三区在线观看| 欧美日韩成人在线| 欧美精品1区2区3区| 欧美美女黄视频| 91精品免费观看| 欧美不卡视频一区| 久久夜色精品国产噜噜av| 精品国产三级a在线观看| 欧美zozozo| 欧美精彩视频一区二区三区| 久久婷婷国产综合精品青草| 欧美巨大另类极品videosbest | 国产欧美一区二区精品久导航 | 亚洲欧美另类图片小说| 国产欧美精品在线观看| 久久精品综合网| 久久久国产精品不卡| 久久精品这里都是精品| 国产欧美精品区一区二区三区| 国产亚洲一本大道中文在线| 国产日韩欧美不卡在线| 国产精品看片你懂得| 亚洲欧美偷拍另类a∨色屁股| 亚洲精品亚洲人成人网在线播放| 亚洲精品亚洲人成人网| 偷拍日韩校园综合在线| 久久99深爱久久99精品| 不卡的av电影在线观看| 在线精品视频小说1| 91麻豆精品国产91久久久 | 欧美一区午夜精品| xfplay精品久久| 亚洲欧洲色图综合| 亚洲第一精品在线| 韩国三级在线一区| www.亚洲在线| 7777精品伊人久久久大香线蕉超级流畅| 欧美一区二区大片| 国产精品色哟哟网站| 亚洲国产裸拍裸体视频在线观看乱了| 丝袜美腿亚洲色图| 国产凹凸在线观看一区二区| 欧美最新大片在线看| 精品日韩在线观看| 亚洲欧美日韩中文播放 | 日韩一区二区三区免费观看| 久久男人中文字幕资源站| 一区二区三区四区不卡视频| 免费精品视频最新在线|