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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? usbcode.asm

?? USB2.0完整資料
?? ASM
?? 第 1 頁 / 共 2 頁
字號(hào):
    mov a,(get_protocol_status_table - control_read_table)
    add a,[protocol_status]    
    jmp SendRomData                      
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetReport()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetReport:
    mov a,[bmRequestType]
    cmp a,CLASS + HOST_TO_INTERFACE
    jnz SendStallEP0

    mov a,[wValueLi]             
    mov [current_reportid],a     
       
    mov a,[wLengthLi]            
    mov [data_count],a           

    mov a,00h                   
    iowr EP0_Rx_Status          

    mov a,[current_reportid]
    cmp a,RID_TRANSMIT          
    jz hid_report_incoming      

    cmp a,RID_COMMAND           
    jnz await_outs              
                                

  hid_report_incoming:
    mov a,TRANSMITTING_MASK       
    mov [interrupt_mask],a

    mov a,0                       
    iowr P0_IntEnable           

    FLOW_OFF                      

    mov a,FIRSTBYTE_FLG_MASK      
    or [fwcr], a                  

  await_outs:
    iord USB_Control              
    and a,~USBC_StatusOuts
    or a,USBC_EnableOuts
    iowr USB_Control

    ret    
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetIdle()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetIdle:
    jmp SendStallEP0 
    
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SetProtocol()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SetProtocol:
    mov a,[bmRequestType]
    cmp a,CLASS + HOST_TO_INTERFACE
    jnz SendStallEP0

    mov a,[wValueLi]
    mov [protocol_status],a      

    jmp NoDataControl            
       
    
;***********************************************************************************************
;                   USB傳輸函數(shù)的定義及實(shí)現(xiàn)
;***********************************************************************************************

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SendROMData()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SendRomData:                                    
      mov [data_start],a           
      
      call CheckDescriptorLength   
      call ControlRead             

      ret                                 

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; SendStallEP0()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SendStallEP0:              
      mov a,EP0_Tx_Respond + EP0_Tx_Stall                   
      iowr EP0_Tx_Config           
      ret
      
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; CheckDescriptorLength()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CheckDescriptorLength:
    mov a,[wLengthHi]                
    cmp a,0                         
    jnz UseActualLength             
                                    
    mov a,[wLengthLi]             
    cmp a,[data_count]            
    jz UseActualLength            
    jnc UseActualLength           

    mov [data_count],a            

  UseActualLength:
      ret                   

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; NoDataControl()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NoDataControl:
    iord EP0_Rx_Status               
    and a, ~EP0_Rx_Setup
    iowr EP0_Rx_Status
                                 
    mov a,EP0_Tx_Respond + EP0_Tx_Toggle   
    iowr EP0_Tx_Config                      

    ret             

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ControlRead()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ControlRead: 
    mov A, 00h         
    mov [endp0_data_toggle], A              

  ControlReadDataStage:
    push x              
    mov x,00h
    mov a,00h

    mov [loop_counter],a        
    iowr EP0_Rx_Status          
                                
    iord EP0_Rx_Status          
    and a,01h
    jnz ControlReadStatusStage          
                                            
    iord USB_Control            
    or a,USBC_StatusOuts        
    iowr USB_Control

    mov a,[data_count]          
    cmp a,00h
    jz DmaLoadDone

  DmaLoadLoop:                  
    mov a,[data_start]
    index control_read_table
    mov [x + EP0_FIFO],a        

    inc [data_start]
    inc x
    inc [loop_counter]

    dec [data_count]            
    jz DmaLoadDone              

    mov a,[loop_counter]        
    cmp a,08h                   
    jnz DmaLoadLoop

DmaLoadDone:
    iord EP0_Rx_Status          
    and a,01h                   
    jnz ControlReadStatusStage

    mov a,[endp0_data_toggle]
    xor a,EP0_Tx_Toggle
    mov [endp0_data_toggle],a

    or a,80h                    
    or a,[loop_counter]         
    iowr EP0_Tx_Config

ControlReadStatusStage:         
    pop x                       
    ret   

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; ControlWrite()
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ControlWrite: 
ControlWriteRamDataStage:
    push x              

    mov a,[current_reportid]
    cmp a,RID_COMMAND       
    jnz ridtransmit
    
    mov a,[EP0_FIFO.1]      
    call handle_rid_command                 
    jmp cwhandshake

  ridtransmit:
    iord EP0_Rx_Status         
    rrc                                 
    rrc
    rrc
    rrc
    and a,0fh                  
    sub a,02h                  
    mov [loop_counter],a       
    
    mov x,00h                  

    mov a,[fwcr]                
    and a,FIRSTBYTE_FLG_MASK    
    jz DmaWriteRamLoop          

    mov a,[fwcr]
    and a,~FIRSTBYTE_FLG_MASK          
    or a,BUSY_TRANSMITTING             
    mov [fwcr],a

    mov a,[x+EP0_FIFO]                 
    cmp a,RID_TRANSMIT                 
    jnz cwhandshake                    

    dec [data_count]     
    dec [loop_counter]   
    inc x                

    mov a,[x+EP0_FIFO]
    mov [transmit_count],a       

    dec [data_count]             
    dec [loop_counter]           
    inc x                        

    mov a,INTDISABLE_MASK	 
    iowr Global_Interrupt        

  DmaWriteRamLoop:
    mov a,[transmit_count]       
    cmp a,0
    jz DmaWriteRam_next

    iowr WDT                     
    mov a,[x + EP0_FIFO]         
    mov [serial_tx_reg],a        
    call SerialTransmitByte      
    dec [transmit_count]         

  DmaWriteRam_next:
    inc x
    dec [data_count]             
    dec [loop_counter]           
    jnz DmaWriteRamLoop          

  DmaWriteRamDone:  
    mov a,[data_count]           
    cmp a,00h                    
    jnz cwenableouts             

  cwhandshake:
    call NoDataControl           
                                 
    jmp cwexit                   
    
  cwenableouts:
    iord USB_Control             
    or a,USBC_EnableOuts
    iowr USB_Control

  cwexit:
    pop X                                   
    ret

;*********************************************************************************************
;               ROM數(shù)據(jù)段 Data Segment (ROM)
;*********************************************************************************************
XPAGEOFF
control_read_table:

;============================================================================================
device_desc_table:          
    db (end_device_desc_table - device_desc_table)    
    db 01h                                            
    db 10h,01h                                        
    db 00h                                            
    db 00h                                            
    db 00h                                            
    db 08h                                            
    DWL xxxxh                          ;xxxx-十六進(jìn)制數(shù),需更改
    DWL xxxxh                          ;xxxx-十六進(jìn)制數(shù),需更改
    DWL 0001h                                         
    db 01h                                            
    db 02h                                            
    db 00h                                            
    db 01h                                            
end_device_desc_table:

;============================================================================================
config_desc_table:                                  
    db (Interface_Descriptor - config_desc_table)     
    db 02h                                          
    db (end_config_desc_table - config_desc_table) ,00h  
    db 01h                                               
    db 01h                                               
    db 00h                                               
    db 80h                                               
    db 32h                                               

;============================================================================================
Interface_Descriptor:                                    
    db (Class_Descriptor - Interface_Descriptor)         
    db 04h                                               
    db 00h                                               
    db 00h                                               
    db 01h                                               
    db 03h                                               
    db 00h                                               
    db 00h                                               
    db 00h                                               

;============================================================================================
Class_Descriptor:                                        
    db (Endpoint_Descriptor - Class_Descriptor)          
    db 21h                                               
    db 00h,01h                                           
    db 00h                                               
    db 01h                                               
    db 22h                                               
    dwl (end_hid_report_desc_table - hid_report_desc_table)

;============================================================================================
Endpoint_Descriptor:                                       
    db (end_config_desc_table - Endpoint_Descriptor)       
    db 05h                                                
    db 81h                                                
    db 03h                                                
    db EP1_REPORT_LENGTH+1,00h                            
    db POLLING_INTERVAL                                   
end_config_desc_table:

;============================================================================================
hid_report_desc_table:   
    db 06h,  00h, ffh    

    db 09h,  01h         
    db a1h,  01h         

    db 85h,  RID_RECEIVE    
    db  9h,  1h             
    db 15h,  0h             
    db 26h,  ffh, 0h        
    db 75h,  8h             
    db 95h,  EP1_REPORT_LENGTH 
    db 81h,  6h                
    db  9h,  1h                
    db b1h,  6h                

    db 85h,  RID_COMMAND       
    db 09h,  01h               
    db 15h,  00h               
    db 26h,  8h, 00h           
    db 75h,  08h               
    db 95h,  01h               
    db 09h,  01h        
    db b1h,  06h        
        
    db 85h,  RID_TRANSMIT    
    db 09h,  03h             
    db 96h,  07h, 00h        
    db b1h,  06h             

    db c0h                   
end_hid_report_desc_table:

;========================================================================
USBStringLanguageDescription:
    db (USBStringDescription1 - USBStringLanguageDescription) 
    db 03h      
    db 09h      
    db 04h      

USBStringDescription1:             
    db (USBStringDescription2 - USBStringDescription1)  
    db 03h                                              
    dsu "Ysu"                                           
                                                        

; string 2
USBStringDescription2:                                  
    db (USBStringDescription3 - USBStringDescription2)  
    db 03h                                              
    dsu "RS232-USB"  

; string 3                 
USBStringDescription3:                                  
    db (USBStringEnd - USBStringDescription3)           
    db 03h                                              
    dsu "Lyw"
USBStringEnd:
    
;========================================================================
get_dev_status_table:
        db 00h, 00h  
wakeup_enabled:      
        db 02h, 00h  

get_interface_status_table:
        db 00h, 00h                  

get_endpoint_status_table:
        db 00h, 00h                  
stalled:
        db 01h, 00h                  

get_configuration_status_table:
        db 00h                       
        db 01h                       

get_protocol_status_table:
        db 00h                       
        db 01h                       

get_interface_table:
        db 00h                       

XPAGEON             

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人的天堂在线aⅴ视频| 国产目拍亚洲精品99久久精品| 国产精品一区二区在线看| 亚洲欧美色一区| 精品成人a区在线观看| 91香蕉视频污| 国产一区二区在线观看免费| 一区二区三区高清| 国产精品久久久久久久久果冻传媒 | 亚洲欧美另类小说| 久久综合久久综合九色| 欧美午夜理伦三级在线观看| 成人免费视频国产在线观看| 蜜桃视频一区二区三区在线观看| 国产精品毛片久久久久久久| 欧美电影免费观看高清完整版在| 欧美体内she精高潮| 99久久亚洲一区二区三区青草 | 99精品热视频| 国内外成人在线| 日本不卡一二三| 一区二区三区四区五区视频在线观看 | 国产欧美日韩综合精品一区二区| 日韩精品一区二区三区在线| 欧美色图片你懂的| 91麻豆国产福利在线观看| 春色校园综合激情亚洲| 久久aⅴ国产欧美74aaa| 麻豆久久一区二区| 国产精品一区二区久久不卡 | 国产日本欧洲亚洲| 精品第一国产综合精品aⅴ| 7777精品久久久大香线蕉| 欧美日韩国产免费一区二区| 在线观看不卡一区| 一本久道久久综合中文字幕 | 欧美成人一区二区三区在线观看| 56国语精品自产拍在线观看| 91精品国产黑色紧身裤美女| 欧美人与z0zoxxxx视频| 在线成人av网站| 3d动漫精品啪啪| 日韩欧美资源站| 久久综合久久久久88| 久久久国产精品麻豆| 中文字幕av资源一区| 国产精品国产三级国产有无不卡 | 老司机精品视频导航| 久久99热这里只有精品| 紧缚奴在线一区二区三区| 久久国内精品自在自线400部| 九九精品一区二区| 国产成人在线看| eeuss国产一区二区三区| 99久久婷婷国产精品综合| 色婷婷国产精品综合在线观看| 在线影院国内精品| 制服视频三区第一页精品| 日韩午夜小视频| 日本一区二区免费在线观看视频| 亚洲欧洲日韩在线| 亚洲国产精品天堂| 蜜臀av亚洲一区中文字幕| 国产白丝精品91爽爽久久| 成人免费高清在线| 欧美最新大片在线看| 日韩欧美中文一区| 国产精品私人影院| 亚洲国产成人av好男人在线观看| 麻豆国产欧美一区二区三区| 国产盗摄视频一区二区三区| 97精品国产露脸对白| 欧美精品电影在线播放| 国产日韩欧美电影| 亚洲自拍与偷拍| 国产精品一级片在线观看| 91久久精品一区二区| 日韩视频一区二区三区在线播放| 国产欧美一区二区三区网站| 一区二区三区在线看| 久久99精品久久久久久| 不卡的av电影在线观看| 欧美肥妇毛茸茸| 国产精品家庭影院| 免费成人av在线播放| av网站一区二区三区| 91精品国产一区二区| 国产精品视频yy9299一区| 丝袜美腿亚洲一区| av在线播放一区二区三区| 在线综合视频播放| 亚洲日本一区二区| 国模冰冰炮一区二区| 欧美影院午夜播放| 中文字幕欧美日本乱码一线二线| 亚洲二区视频在线| 成人av在线播放网站| 日韩欧美在线123| 亚洲黄一区二区三区| 国产精品自拍在线| 日韩一区二区三区在线视频| 亚洲黄色av一区| 国产传媒欧美日韩成人| 欧美一区二区三区免费大片| 中文字幕在线观看一区二区| 国内精品久久久久影院薰衣草 | 国产欧美一区二区精品性色超碰 | 午夜精品视频一区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 偷窥国产亚洲免费视频| 91美女福利视频| 日本一区二区电影| 狠狠色丁香婷婷综合久久片| 欧美色成人综合| 亚洲欧美电影一区二区| 国产suv精品一区二区6| 精品三级av在线| 亚洲444eee在线观看| 在线这里只有精品| 中文字幕一区二区三| 成人国产精品免费网站| 久久久久久久久蜜桃| 免费观看久久久4p| 日韩一级高清毛片| 日本亚洲欧美天堂免费| 欧美精品在线观看一区二区| 亚洲一区二区三区在线看| 色琪琪一区二区三区亚洲区| 中文字幕在线观看一区二区| 成人黄色777网| 国产精品麻豆视频| 成人免费高清在线| 欧美经典三级视频一区二区三区| 久久99精品视频| www一区二区| 国产精品中文欧美| 国产欧美一区二区三区鸳鸯浴| 国产酒店精品激情| 中文字幕第一区综合| 国产不卡视频在线观看| 国产精品美女久久久久av爽李琼| 国产不卡视频一区| 国产精品乱码一区二三区小蝌蚪| k8久久久一区二区三区| 亚洲女同一区二区| 欧美性生活大片视频| 日韩成人一区二区三区在线观看| 欧美日韩国产免费一区二区| 青青草国产成人av片免费| 欧美成人a视频| 国产一区二区导航在线播放| 国产精品水嫩水嫩| 一本高清dvd不卡在线观看| 亚洲高清免费视频| 日韩一区二区电影| 国产精品中文有码| 亚洲欧美激情小说另类| 91.成人天堂一区| 狠狠色丁香婷婷综合久久片| 国产精品视频第一区| 欧美在线制服丝袜| 蜜桃视频在线观看一区| 国产亚洲欧洲997久久综合| 99久久综合国产精品| 亚洲午夜久久久久久久久电影网| 777色狠狠一区二区三区| 国产一区二三区| 亚洲黄一区二区三区| 日韩情涩欧美日韩视频| 成人高清视频免费观看| 午夜视频在线观看一区二区三区 | 欧美色国产精品| 久久精品国产秦先生| 国产精品三级电影| 69av一区二区三区| 日韩精品专区在线影院重磅| 懂色av中文一区二区三区 | 极品瑜伽女神91| 久久精品亚洲乱码伦伦中文| 99这里都是精品| 日韩精品91亚洲二区在线观看| 久久久99免费| 欧洲av在线精品| 国产精品自拍一区| 午夜精品久久久久影视| 久久这里只精品最新地址| 日本高清免费不卡视频| 久久狠狠亚洲综合| 一区二区三区四区乱视频| 欧美成人女星排名| 91国产丝袜在线播放| 国产在线乱码一区二区三区| 一区二区国产盗摄色噜噜| 欧美精品一区二区久久婷婷| 一本色道久久加勒比精品| 国产乱人伦偷精品视频免下载| 亚洲国产精品久久久久秋霞影院| 国产三级精品三级| 日韩一区二区在线播放| 在线精品视频免费播放|