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

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

?? usbcode.asm

?? USB2.0完整資料
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;===============================================================================================
; USBCODE.asm ---處理端點0的控制傳輸
;===============================================================================================

;***********************************************************************************************
; DecodeRequest()
;***********************************************************************************************
DecodeRequest:
    mov a,[bmRequestType]        
    and a,60h                    
    jnz ClassRequest             

  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  ; 處理標準設備請求
  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  StandardRequest:
    mov a,[bRequest]               
    asl a                        
    cmp a, (end_standard_request_table - standard_request_table + 1)   ;cmp a,24
    jnc SendStallEP0             
                                 
                                 
    jacc standard_request_table   
  
  
    db 00,00,00,00,00,00,00,00,00,00,00,00
    db 00,00,00,00,00,00,00,00,00,00,00,00
    
    XPAGEOFF
  standard_request_table:
    jmp GetStatus
    jmp ClearFeature
    jmp SendStallEP0         
    jmp SetFeature              
    jmp SendStallEP0         
    jmp SetAddress
    jmp GetDescriptor
    jmp SetDescriptor
    jmp GetConfiguration
    jmp SetConfiguration
    jmp GetInterface
    jmp SetInterface
  end_standard_request_table:     
    XPAGEON

  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  ; 處理HID設備類專用請求
  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  ClassRequest:
    cmp a,20h                     
    jnz VendorRequest             

    mov a,[bRequest]                   
    asl a                         
    cmp a, (end_HID_request_table - HID_request_table + 1)   
    jnc SendStallEP0

    jacc HID_request_table         
    
    XPAGEOFF
  HID_request_table:              
    jmp SendStallEP0               
    jmp GetReport
    jmp GetIdle
    jmp GetProtocol
    jmp SendStallEP0               
    jmp SendStallEP0               
    jmp SendStallEP0               
    jmp SendStallEP0               
    jmp SendStallEP0               
    jmp SetReport
    jmp SetIdle
    jmp SetProtocol
  end_HID_request_table:
    XPAGEON
    
  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  ; 處理供應商自定義的請求
  ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  VendorRequest:
    jmp SendStallEP0               

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetStatus()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetStatus:    
    mov a,2              
    mov [data_count],a

    mov a,[bmRequestType]     
    cmp a, DEVICE_TO_HOST               
    jz GetDeviceStatus

    cmp a, ENDPOINT_TO_HOST
    jz GetEndpointStatus

    cmp a, INTERFACE_TO_HOST
    jnz SendStallEP0
    
  GetInterfaceStatus:
      mov a,(get_interface_status_table - control_read_table)
      jmp SendRomData        
       
  GetDeviceStatus:
      mov a,(get_dev_status_table - control_read_table)
      jmp SendRomData        
    
  GetEndpointStatus:
      iord EP1_Tx_Config
      and a,EP1_Tx_Stall      
      jz .Send                                
      mov a,(stalled - get_endpoint_status_table) 

   .Send:
      add a,(get_endpoint_status_table - control_read_table)
      jmp SendRomData              
    
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ClearFeature()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++    
ClearFeature:
     mov a,[bmRequestType]      
     cmp a,HOST_TO_DEVICE           
     jz ClearRemoteWakeup            

     cmp a,HOST_TO_ENDPOINT
     jnz SendStallEP0                   

  ClearEndpointStall:
     mov a,[wValueLi]
     cmp a,EP1_STALLED       
     jnz SendStallEP0        

     call NoDataControl      

     iord EP1_Tx_Config                    
     and A, ~(EP1_Tx_Stall + EP1_Tx_Toggle) 
     iowr EP1_Tx_Config

     ret

   ClearRemoteWakeup:
     jmp SendStallEP0          
  
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetFeature()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetFeature:
    mov a,[bmRequestType]     
    cmp a,HOST_TO_DEVICE
    jz SetRemoteWakeup          

    cmp a,HOST_TO_ENDPOINT
    jnz SendStallEP0                   

  SetEndpointStall:
      mov a,[wValueLi]                       
      cmp a,EP1_STALLED        
      jnz SendStallEP0         

      call NoDataControl       

      mov a,(EP1_Tx_Stall + EP1_Tx_Enable) 
      iowr EP1_Tx_Config                 
      ret                                   

    SetRemoteWakeup:
      jmp SendStallEP0       
    
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetAddress()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetAddress:
    mov a,[bmRequestType]
    cmp a,HOST_TO_DEVICE
    jnz SendStallEP0

    mov a,[wValueLi]         
    and a,80h                      
    jnz SendStallEP0                

    call NoDataControl       

  .wait:
    iowr WDT                 
    iord EP0_Tx_Config       
    and a,80h                
    jnz .wait                

    mov a,[wValueLi]         
    iowr USB_DeviceAddress
    ret                     
    
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetDescriptor()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetDescriptor:
    mov a,[bmRequestType]
    cmp a,DEVICE_TO_HOST
    jnz GetClassDescriptor            

    mov a,[wValueHi]                  
    asl a                             
    cmp a,(end_desc_type_table - desc_type_table + 1)
    jnc SendStallEP0                  

    jacc desc_type_table

 GetClassDescriptor:
    mov a,[bmRequestType]
    cmp a,INTERFACE_TO_HOST 
    jnz SendStallEP0 

    mov a,[wValueHi]        
    and a,dfh               
                            
    asl a                   
    cmp a,(end_class_desc_type_table - class_desc_type_table + 1)
    jnc SendStallEP0        

    jacc class_desc_type_table

    XPAGEOFF
  desc_type_table: 
    jmp SendStallEP0                
    jmp GetDeviceDescriptor         
    jmp GetConfigurationDescriptor  
    jmp GetStringDescriptor         
  end_desc_type_table:

  class_desc_type_table:  
    jmp SendStallEP0                
    jmp GetHIDDescriptor            
    jmp GetReportDescriptor         
    jmp GetPhysicalDescriptor       
  end_class_desc_type_table:
    XPAGEON

  GetDeviceDescriptor:
    mov a,(end_device_desc_table - device_desc_table)
    mov [data_count],a         

    mov a,(device_desc_table - control_read_table)
    jmp SendRomData            

  GetConfigurationDescriptor:
    mov a,(end_config_desc_table - config_desc_table)
    mov [data_count],a             

    mov a,(config_desc_table - control_read_table)
    jmp SendRomData                

  GetStringDescriptor:               
    mov a,[wValueLi]                
    cmp a,(end_string_length_table - string_length_table + 1)
    jnc SendStallEP0                
                                    

    index string_length_table       
    mov [data_count],a                   

    mov a,[wValueLi]                      
    index string_offset_table       
    jmp SendRomData                   
    
    XPAGEOFF
  string_length_table:
    db (USBStringDescription1 - USBStringLanguageDescription)
    db (USBStringDescription2 - USBStringDescription1)
    db (USBStringDescription3 - USBStringDescription2)
    db (USBStringEnd - USBStringDescription3)
  end_string_length_table:

  string_offset_table:
    db (USBStringLanguageDescription - control_read_table)
    db (USBStringDescription1 - control_read_table)
    db (USBStringDescription2 - control_read_table)
    db (USBStringDescription3 - control_read_table)
  end_string_offset_table:
    XPAGEON
    
  GetReportDescriptor:
    mov a,(end_hid_report_desc_table - hid_report_desc_table)
    mov [data_count],a               

    mov a,(hid_report_desc_table - control_read_table)
    jmp SendRomData                  

  GetHIDDescriptor:
    mov a,(Endpoint_Descriptor - Class_Descriptor)
    mov [data_count],a          

    mov a,(Class_Descriptor - control_read_table)
    jmp SendRomData             

  GetPhysicalDescriptor:
    jmp SendStallEP0            
        
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetDescriptor()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetDescriptor:              
    jmp SendStallEP0    
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetConfiguration()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetConfiguration:
    mov a,[bmRequestType]
    cmp a,DEVICE_TO_HOST
    jnz SendStallEP0

    mov a,1                          
    mov [data_count],a

    mov a,(get_configuration_status_table - control_read_table)
    add a,[configuration_status]     

    jmp SendRomData                  
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetConfiguration()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetConfiguration:
    mov a,[bmRequestType]
    and a,ffh                 
    jnz SendStallEP0

    call NoDataControl        

    mov a,[wValueLi]
    mov [configuration_status],a    

    iord EP1_Tx_Config              
    and a,~(EP1_Tx_Toggle + EP1_Tx_Stall)
    iowr EP1_Tx_Config    

    mov a,[configuration_status]
    and a,ffh                       
    jnz ConfigureDevice

  UnconfigureDevice:
    iord EP1_Tx_Config
    and a,~EP1_Tx_Enable            
    iowr EP1_Tx_Config            

    mov a,[interrupt_mask]          
    and a,~USB_EP1_IE
    mov [interrupt_mask],a

    ret

  ConfigureDevice:
    iord EP1_Tx_Config
    and a,7Fh                       
    or a,EP1_Tx_Enable              
    iowr EP1_Tx_Config            

    mov a,[interrupt_mask]          
    or a,ENUMERATED_MASK
    mov [interrupt_mask],a

    ret                             

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetInterface()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetInterface:
    mov a,[bmRequestType]
    cmp a,INTERFACE_TO_HOST
    jnz SendStallEP0

    mov a,[wIndexLi]          
    cmp a,0                   
    jnz SendStallEP0

    mov a,1                   
    mov [data_count],a

    mov a,(get_interface_table - control_read_table)
    jmp SendRomData           
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetInterface()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetInterface:
    mov a,[bmRequestType]
    cmp a,DEVICE_TO_HOST
    jnz SendStallEP0

    mov a,[wIndexLi]            
    cmp a,0                     
    jnz SendStallEP0

    mov a,[wValueLi]            
    cmp a,0                     
    jnz SendStallEP0

    jmp NoDataControl           
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetReport()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetReport:
    mov a,[bmRequestType]
    cmp a,CLASS + INTERFACE_TO_HOST
    jnz SendStallEP0           

    jmp SendStallEP0
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetIdle()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetIdle:
      jmp SendStallEP0

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; GetProtocol()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetProtocol:
    mov a,[bmRequestType]
    cmp a,CLASS + INTERFACE_TO_HOST
    jnz SendStallEP0

    mov a,1         
    mov [data_count],a

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久久久 | 午夜精品国产更新| 一区二区欧美精品| 热久久久久久久| 国产成人在线免费观看| 99久久精品久久久久久清纯| 9191久久久久久久久久久| 日韩欧美一区二区久久婷婷| 中国色在线观看另类| 亚洲国产综合91精品麻豆| 理论电影国产精品| 色偷偷久久人人79超碰人人澡| 欧美三级乱人伦电影| 国产丝袜美腿一区二区三区| 一区二区高清在线| 国产精品资源网| 99在线精品一区二区三区| 91精品国产综合久久精品图片| 国产精品你懂的在线欣赏| 一区二区三区91| 成人av在线一区二区| 91精品国产综合久久久久久久久久 | 久久成人18免费观看| 91免费在线看| 久久综合久久鬼色| 五月综合激情网| 色婷婷综合久久久久中文| 26uuu精品一区二区三区四区在线| 一区二区三区四区视频精品免费| 国产不卡视频一区二区三区| 制服丝袜日韩国产| 亚洲精品成人精品456| 国产成人av一区二区三区在线观看| 欧美在线免费视屏| 国产精品视频看| 国产麻豆精品一区二区| 精品视频在线免费观看| 17c精品麻豆一区二区免费| 国产经典欧美精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久久久久97三级| 国产福利一区二区三区| 国产精品女同互慰在线看| 色综合天天综合网天天狠天天| 亚洲精品中文在线影院| 欧美体内she精高潮| 天天操天天干天天综合网| 91精品国产美女浴室洗澡无遮挡| 男男视频亚洲欧美| 久久久亚洲国产美女国产盗摄| 成人综合婷婷国产精品久久蜜臀| 国产精品视频你懂的| 欧洲精品在线观看| 男女男精品视频| 国产精品久久久久影院| 91久久免费观看| 青青草国产成人99久久| 欧美国产精品一区二区三区| 99精品在线观看视频| 日韩专区在线视频| 国产色一区二区| 欧美综合一区二区| 久久99精品久久久久久动态图 | 91精品国产福利| 国产激情偷乱视频一区二区三区| 亚洲欧洲无码一区二区三区| 欧美伊人精品成人久久综合97| 奇米精品一区二区三区在线观看| 久久久久久久久99精品| 欧美亚洲国产一区在线观看网站| 免费成人小视频| √…a在线天堂一区| 日韩欧美电影一二三| 91啪在线观看| 国产一区二区三区国产| 亚洲一本大道在线| 日本一区二区三区四区| 91精品午夜视频| 91老师片黄在线观看| 久久精品久久精品| 亚洲色图视频网| 精品久久国产老人久久综合| 91亚洲精华国产精华精华液| 久久精品国产久精国产| 亚洲激情自拍偷拍| 国产精品三级久久久久三级| 日韩三级中文字幕| 欧美在线观看一二区| 高清不卡在线观看av| 秋霞av亚洲一区二区三| 奇米色一区二区三区四区| 国产精品你懂的在线欣赏| 亚洲精品一区二区三区蜜桃下载 | 一区二区视频在线| 国产日韩欧美综合在线| 日韩一区二区三区视频在线观看| 91在线观看下载| 国产精品91一区二区| 日韩不卡一区二区| 亚洲国产一二三| 国产精品欧美综合在线| 2021国产精品久久精品| 日韩欧美色电影| 欧美一区二区精美| 在线综合+亚洲+欧美中文字幕| 色综合视频在线观看| 丁香五精品蜜臀久久久久99网站| 久久精品国产**网站演员| 亚洲在线观看免费| 一区二区欧美国产| 一区二区三区在线免费视频| ...av二区三区久久精品| 欧美国产在线观看| 亚洲国产精品精华液ab| 国产日韩精品一区二区三区| 亚洲精品一区二区三区精华液 | 一区二区三区日韩欧美| 欧美激情综合五月色丁香小说| 久久综合九色综合欧美就去吻 | 亚洲精品你懂的| 日韩美女久久久| 亚洲精品日韩一| 夜色激情一区二区| 午夜久久久影院| 日韩在线播放一区二区| 日本成人在线电影网| 日本亚洲三级在线| 久久精工是国产品牌吗| 狠狠色综合播放一区二区| 精品亚洲porn| 国产91在线观看| 色域天天综合网| 欧美日韩午夜在线视频| 91精选在线观看| 精品粉嫩aⅴ一区二区三区四区| 久久久亚洲精品石原莉奈| 中文字幕一区二区三区四区不卡| 亚洲欧美成aⅴ人在线观看| 亚洲成人一二三| 精品一区二区免费看| 成人免费视频一区| 色综合久久中文综合久久97| 欧美日本一道本在线视频| 精品福利在线导航| 成人欧美一区二区三区黑人麻豆| 一区二区三区中文字幕精品精品| 午夜久久久久久电影| 国产成人免费在线观看不卡| 97精品国产露脸对白| 69p69国产精品| 中文字幕欧美日本乱码一线二线| 亚洲精品精品亚洲| 国产在线视频一区二区| 欧洲一区二区三区在线| 精品少妇一区二区三区日产乱码| 欧美国产日韩亚洲一区| 午夜亚洲国产au精品一区二区| 久久精品国产精品亚洲精品| av亚洲精华国产精华| 日韩视频免费观看高清完整版| 国产精品久久久久影视| 另类成人小视频在线| 在线一区二区视频| 国产欧美日韩一区二区三区在线观看| 亚洲午夜三级在线| 国产超碰在线一区| 日韩欧美国产综合一区| 亚洲免费av高清| 国产91精品免费| 欧美videossexotv100| 亚洲国产成人av| 91蜜桃婷婷狠狠久久综合9色| 精品va天堂亚洲国产| 亚洲一区二区三区中文字幕| 岛国一区二区在线观看| 日韩欧美中文一区| 亚洲一本大道在线| av电影一区二区| 久久九九99视频| 日韩二区在线观看| 色狠狠色噜噜噜综合网| 中文字幕av不卡| 国产91露脸合集magnet| 日韩欧美123| 免费一级片91| 欧美日韩1234| 亚洲福利电影网| 日本电影亚洲天堂一区| 亚洲私人影院在线观看| 成人av资源在线| 中文字幕中文字幕一区二区| 国产一区在线视频| 久久精品这里都是精品| 精品一区二区在线观看| 91麻豆精品国产自产在线观看一区 | 色综合激情五月| 亚洲人成在线观看一区二区| 成人av在线网| 亚洲色欲色欲www在线观看| 99久久精品国产导航|