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

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

?? usb_std.asm

?? 基于Cypress CY3655開發(fā)工具的USB鼠標程序
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
    JMP     USB_GetTableEntry_Local_Std
ENDIF
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_d2h_std_dev_08
;
;  DESCRIPTION:   Get Device Configuration
;
;****************************************************************
; STANDARD DEVICE IN REQUEST: Get_Device_Configuration
;****************************************************************
;
; bmRequestType  : (IN | STANDARD | DEVICE)       = 80h
; bRequest       : GET_CONFIGURATION              = 08h    
; wValue         : RESERVED                       = 0000h  
; wIndex         : RESERVED                       = 0000h
; wLength        : SIZEOF_DEVICE_CONFIGURATION    = 0001h  
; 
; The GET_DEVICE_CONFIGURATION request returns the currently 
; selected device configuration number. 
;
; request_value and request_index contain 0000h. request_length 
; contains 0001h and the one-byte configuration number is returned 
; in a separate data transfer.
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
IF (USB_CB_SRC_d2h_std_dev_08 & USB_UM_SUPPLIED)
.LITERAL
GetConfigTransferDescrTable:
    TD_START_TABLE  1                  ; One entry
    TD_ENTRY    USB_DS_RAM, 1, USB_Configuration, NULL_PTR  ; Current configuration
.ENDLITERAL
export  USB_CB_d2h_std_dev_08
USB_CB_d2h_std_dev_08:
    MOV     [USB_t2], 0                ; Use the UM temp var--Selector
    MOV     A,>GetConfigTransferDescrTable  ; Get the ROM Address MSB
    MOV     X,<GetConfigTransferDescrTable  ; Get the ROM Address LSB
    JMP     USB_GetTableEntry_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_h2d_std_dev_01
;
;  DESCRIPTION:   Clear Device Feature
;
;****************************************************************
; STANDARD DEVICE OUT REQUEST: Clear_Device_Feature
;****************************************************************
;
; bmRequestType  : (OUT | STANDARD | DEVICE)      = 00h
; bRequest       : CLEAR_FEATURE                  = 01h    
; wValue         : FEATURE_SELECTOR               = --xxh  
; wIndex         : RESERVED                       = 0000h
; wLength        : RESERVED                       = 0000h  
; 
; The CLEAR_DEVICE_FEATURE request disables a particular feature 
; for a device. The only feature supported for a device is the 
; REMOTE_WAKEUP feature.
; 
;****************************************************************
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
IF (USB_CB_SRC_h2d_std_dev_01 & USB_UM_SUPPLIED)
export  USB_CB_h2d_std_dev_01
USB_CB_h2d_std_dev_01:
    MOV     A, REG[USB_EP0DATA+wValueLo]  ; Get the Feature Selector
                                       ; Check against valid features
                                       ;  for device receipient
    CMP     A, USB_DEVICE_REMOTE_WAKEUP  ; Only remote wakeup is defined for clear
    JNZ     USB_Not_Supported          ;      
    AND     [USB_DeviceStatus], ~USB_DEVICE_STATUS_REMOTE_WAKEUP
    JMP     USB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_h2d_std_dev_03
;
;  DESCRIPTION:   Set Device Featue
;
;****************************************************************
; STANDARD DEVICE OUT REQUEST: Set_Device_Feature
;****************************************************************
;
; bmRequestType  : (OUT | STANDARD | DEVICE)      = 00h
; bRequest       : SET_FEATURE                    = 03h    
; wValue         : FEATURE_SELECTOR               = --xxh  
; wIndex         : RESERVED                       = 0000h
; wLength        : RESERVED                       = 0000h  
; 
; The SET_DEVICE_FEATURE request enables a particular feature
; on a device. The only feature supported for a device is the 
; REMOTE_WAKEUP feature.
;
;****************************************************************
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
IF (USB_CB_SRC_h2d_std_dev_03 & USB_UM_SUPPLIED)
export  USB_CB_h2d_std_dev_03
USB_CB_h2d_std_dev_03:
    MOV     A, REG[USB_EP0DATA+wValueLo]  ; Get the Feature Selector
                                       ; Check against valid features
                                       ;  for device receipient
    CMP     A, USB_DEVICE_REMOTE_WAKEUP  ; Remote wakeup?
    JZ      .remote_wakeup

    CMP     A, USB_TEST_MODE           ; Test Mode 
    JZ      .test_mode
; Flow here for any other selector is invalid for device receipient
    JMP     USB_Not_Supported
; Jump here to enable remote wake up
.remote_wakeup:
    OR      [USB_DeviceStatus], USB_DEVICE_STATUS_REMOTE_WAKEUP
    JMP     .finish
; Jump here to enable test mode
.test_mode:
    JMP     USB_Not_Supported
.finish:
    JMP     USB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_h2d_std_dev_05
;
;  DESCRIPTION:   Set Device Address
;
;****************************************************************
; STANDARD DEVICE OUT REQUEST: Set_Device_Address
;****************************************************************
;
; bmRequestType  : (OUT | STANDARD | DEVICE)      = 00h
; bRequest       : SET_ADDRESS                    = 05h    
; wValue         : DEVICE_ADDRESS                 = 00xxh  
; wIndex         : RESERVED                       = 0000h
; wLength        : RESERVED                       = 0000h  
; 
; The SET_DEVICE_ADDRESS request sets the USB device address
; for all future USB accesses. 
;
;****************************************************************
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------

IF (USB_CB_SRC_h2d_std_dev_05 & USB_UM_SUPPLIED)
export  USB_CB_h2d_std_dev_05
USB_CB_h2d_std_dev_05:
      
    MOV     [USB_fDataPending], USB_ADDRESS_CHANGE_PENDING       
    MOV     A, REG[USB_EP0DATA+wValueLo]       
    MOV     [USB_TransferBuffer],A       
                                                   
    JMP     USB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_h2d_std_dev_09
;
;  DESCRIPTION:   Set Configuration
;
;****************************************************************
; STANDARD DEVICE OUT REQUEST: Set_Device_Configuration
;****************************************************************
;
; bmRequestType  : (OUT | STANDARD | DEVICE)      = 00h
; bRequest       : SET_CONFIGURATION              = 09h    
; wValue         : CONFIGURATION_VALUE            = --xxh  
; wIndex         : RESERVED                       = 0000h
; wLength        : RESERVED                       = 0000h  
; 
; The SET_DEVICE_CONFIGURATION request selects a device 
; configuration to be activated as the current configuration. 
;
;****************************************************************
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------

IF (USB_CB_SRC_h2d_std_dev_09 & USB_UM_SUPPLIED)
export  USB_CB_h2d_std_dev_09
USB_CB_h2d_std_dev_09:
    CALL    USB_GET_DEVICE_TABLE_ENTRY ; Get the selected device
    MOV     [USB_t2],USB_t1            ; Set the GETWORD destination 
    CALL    USB_GETWORD                ; Get the pointer to the CONFIG_LOOKUP table
                                       ; ITempW has the address
    MOV     A, REG[USB_EP0DATA+wValueLo]  ; Get the configuration number
    MOV     [USB_t2],A                 ; Save it 
    MOV     A, [USB_t1]                ; Get the CONFIG_LOOKUP ROM Address MSB
    MOV     X, [USB_t1+1]              ; Get the CONFIG_LOOKUP ROM Address LSB
    ROMX                               ; First entry is the table size (only a byte)
    CMP     A, [USB_t2]                ; Range check
    JC      USB_Not_Supported

; Refactored from the two loops below
    MOV     [USB_Configuration],[USB_t2]  ; Save the config number

    CMP     [USB_t2], 0                ; Unconfigure?
    JZ      .unconfigure

; Flow here to configure the endpoints
    MOV     A, [USB_t1]                ; Get the CONFIG_LOOKUP ROM Address MSB
    MOV     X, [USB_t1+1]              ; Get the CONFIG_LOOKUP ROM Address LSB
    INC     X                          ; Point to the first table entry
    ADC     A, 0                       ;
    MOV    [USB_t2], USB_t1            ; Set up the destination  
    CALL    USB_GETWORD                ; Get the pointer to the CONFIG_LOOKUP table
                                       ; ITempW has the address
    MOV     X, 0                       ; Start the index at 0, but we INC first
.configure_next:
    INC     X                          ; Do the next one
    PUSH    X                          ; Save the endpoint number
    MOV     A, [USB_t1]                ; Get the CONFIG_LOOKUP ROM Address MSB
    MOV     X, [USB_t1+1]              ; Get the CONFIG_LOOKUP ROM Address LSB
    ROMX
    INC     [USB_t1+1]                 ; Point to the next 
    ADC     [USB_t1], 0                ;
    POP     X
    CALL    ConfigureEP                ; X contains the EP number
                                       ; A contains the EP Direction
    MOV     A, X                       ; 
    CMP     A, USB_MAX_EP_NUMBER       ; Configure each of the endpoints
    JNZ     .configure_next            ; Do another one?
; Flow here when we are done
    JMP     .done

; Jump here to unconfigure the endpoints
.unconfigure:
    MOV     X, USB_MAX_EP_NUMBER       ; Configure each of the endpoints
.unconfigure_next:
    MOV     [X+USB_EndpointAPIStatus], NO_EVENT_ALLOWED ; For the API
    MOV     REG[X+EP0MODE], USB_MODE_DISABLE ; Disable the endpoint
    DEC     X                          ; One more down
    JNZ     .unconfigure_next          ; Don't unconfigure EP0
.done:
    JMP     USB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_d2h_std_ifc_00
;
;  DESCRIPTION:   Get Interface Status
;
;****************************************************************
; STANDARD INTERFACE IN REQUEST: Get_Interface_Status
;****************************************************************
;
; bmRequestType  : (IN | STANDARD | INTERFACE)    = 81h    
; bRequest       : GET_STATUS                     = 00h    
; wValue         : RESERVED                       = 0000h  
; wIndex         : INTERFACE                      = --xxh
; wLength        : SIZEOF_INTERFACE_STATUS        = 0002h  
; 
; The GET_INTERFACE_STATUS request returns status for the 
; specified interface.
;
;****************************************************************
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
IF (USB_CB_SRC_d2h_std_ifc_00 & USB_UM_SUPPLIED)
.LITERAL
GetInterfaceStatusTransferDescrTable:
    TD_START_TABLE  1                  ; One entry
    TD_ENTRY        USB_DS_RAM, 2, USB_TransferBuffer, NULL_PTR  ; Reuse the transfer buffer
.ENDLITERAL
export  USB_CB_d2h_std_ifc_00
USB_CB_d2h_std_ifc_00:

    MOV     [USB_TransferBuffer], 0    ; Zero the transfer buffer
    MOV     [USB_TransferBuffer+1], 0  ; 

    MOV     [USB_t2], 0                ; Use the UM temp var--Selector
    MOV     A,>GetInterfaceStatusTransferDescrTable  ; Get the ROM Address MSB
    MOV     X,<GetInterfaceStatusTransferDescrTable  ; Get the ROM Address LSB

    JMP     USB_GetTableEntry_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_d2h_std_ifc_10
;
;  DESCRIPTION:   Get Interface
;
;****************************************************************
; STANDARD INTERFACE IN REQUEST: Get_Interface
;****************************************************************
;
; bmRequestType  : (IN | STANDARD | INTERFACE)    = 81h
; bRequest       : GET_INTERFACE                  = 0Ah    
; wValue         : RESERVED                       = 0000h  
; wIndex         : INTERFACE                      = xxxxh
; wLength        : SIZEOF_GET_INTERFACE           = 0001h  
; 
; The GET_INTERFACE request returns the selected alternate 
; setting for the specified interface. 
;
;****************************************************************
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------

IF (USB_CB_SRC_d2h_std_ifc_10 & USB_UM_SUPPLIED)
.LITERAL
GetInterfaceTransferDescrTable:
    TD_START_TABLE  1                  ; One entry
    TD_ENTRY        USB_DS_RAM, 1, USB_TransferBuffer, NULL_PTR  ; Reuse the transfer buffer
.ENDLITERAL
export  USB_CB_d2h_std_ifc_10
USB_CB_d2h_std_ifc_10:
    MOV     A, REG[USB_EP0DATA+wIndexLo]  ; Get the interface number
    CMP     A, 1h                      ; Valid interface number? (UM Parameter: NumInterfaces)
    JNC     USB_Not_Supported

    MOV     X, A                       ; The interface number is the index into alternates settings table

    MOV     A, [X + USB_InterfaceSetting]  ; Save the current interface setting
    MOV     [USB_TransferBuffer], A    ; into the transfer buffer

    MOV     [USB_t2], 0                ; Use the UM temp var--Selector
    MOV     A,>GetInterfaceTransferDescrTable  ; Get the ROM Address MSB
    MOV     X,<GetInterfaceTransferDescrTable  ; Get the ROM Address LSB

    JMP     USB_GetTableEntry_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_CB_d2h_std_ep_00
;
;  DESCRIPTION:   Get Endpoint Status
;
;****************************************************************
; STANDARD ENDPOINT IN REQUEST: Get_Endpoint_Status
;****************************************************************
;
; bmRequestType  : (IN | STANDARD | ENDPOINT)     = 82h    
; bRequest       : GET_STATUS                     = 00h    
; wValue         : RESERVED                       = 0000h  
; wIndex         : ENDPOINT                       = 00xxh

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
56国语精品自产拍在线观看| 337p日本欧洲亚洲大胆色噜噜| 香蕉乱码成人久久天堂爱免费| 精品久久久久一区| 色婷婷亚洲婷婷| 国产成人精品亚洲日本在线桃色| 亚洲高清免费在线| 国产精品久久久久久福利一牛影视| 欧美剧在线免费观看网站| 播五月开心婷婷综合| 久久国产精品免费| 亚洲妇熟xx妇色黄| 亚洲精品中文字幕在线观看| 久久久亚洲精品一区二区三区| 欧美日韩国产免费| 日本电影欧美片| 99久久伊人网影院| 丰满少妇在线播放bd日韩电影| 蜜桃一区二区三区在线| 亚洲国产成人porn| 亚洲精品欧美专区| 最新日韩av在线| 亚洲国产精品国自产拍av| 精品国产三级a在线观看| 69精品人人人人| 欧美日韩色一区| 在线视频你懂得一区二区三区| 成人高清av在线| 国产成人av网站| 国产综合久久久久久鬼色| 日本不卡123| 日韩国产高清在线| 日本成人在线网站| 日韩影院精彩在线| 日韩精品久久理论片| 亚洲小少妇裸体bbw| 夜夜嗨av一区二区三区四季av| 亚洲三级电影全部在线观看高清| 中文子幕无线码一区tr| 国产欧美一区二区精品久导航| www国产亚洲精品久久麻豆| 精品国产免费久久| 久久免费国产精品| 中文字幕第一区第二区| 国产精品久久影院| 日韩美女精品在线| 一区二区三区欧美久久| 亚洲一级二级在线| 亚洲va国产天堂va久久en| 亚洲成人综合网站| 免费观看日韩av| 国产一区二区在线免费观看| 久久精品国产精品青草| 国产综合一区二区| 99久久国产综合色|国产精品| 99久久综合精品| 欧美日韩国产电影| 精品欧美黑人一区二区三区| 国产欧美一区二区在线| 亚洲精品免费一二三区| 日韩成人午夜电影| 国产在线精品不卡| 成人av综合在线| 欧美性色黄大片手机版| 欧美成人精品二区三区99精品| 久久久精品国产免费观看同学| 中文字幕一区二区三区不卡在线 | 欧美三级欧美一级| 日韩一区二区三区av| 国产欧美日韩一区二区三区在线观看| 综合久久久久久| 日韩成人dvd| 成人免费电影视频| 欧美探花视频资源| 久久亚洲一区二区三区四区| 国产精品久久久久久久久晋中 | 自拍偷在线精品自拍偷无码专区| 一区二区三区在线观看欧美| 奇米精品一区二区三区在线观看一| 国产高清一区日本| 欧美亚洲一区二区三区四区| 日韩精品一区二区三区三区免费| 国产精品久久久久久久久免费樱桃| 亚洲图片自拍偷拍| 国产91露脸合集magnet | 舔着乳尖日韩一区| 国产美女久久久久| 欧美三级韩国三级日本三斤 | 亚洲小说欧美激情另类| 国产一区二区不卡老阿姨| 欧美性感一区二区三区| 久久久精品日韩欧美| 婷婷一区二区三区| 成人精品一区二区三区四区| 欧美一级二级在线观看| 中文字幕在线一区二区三区| 麻豆久久久久久| 色综合一区二区三区| 日韩精品在线一区| 亚洲成a人在线观看| av午夜一区麻豆| 国产亚洲综合在线| 青娱乐精品在线视频| 色婷婷综合在线| 中文字幕精品一区二区三区精品| 美女视频免费一区| 欧美日韩国产美| 亚洲品质自拍视频网站| 国产成人av影院| 日韩精品一区二区三区中文精品| 亚洲一二三四在线| 91视频观看视频| 国产日韩综合av| 国产最新精品精品你懂的| 91精品国产91久久综合桃花 | 欧美国产一区视频在线观看| 蜜桃视频一区二区| 7777精品伊人久久久大香线蕉完整版 | 久久国产人妖系列| 欧美猛男男办公室激情| 一个色妞综合视频在线观看| 91亚洲男人天堂| 中文字幕一区日韩精品欧美| 成人自拍视频在线观看| 国产亚洲综合在线| 国产乱子轮精品视频| 精品日韩欧美一区二区| 久久99热国产| 欧美zozo另类异族| 激情综合色播激情啊| 日韩视频一区二区三区在线播放| 丝袜a∨在线一区二区三区不卡| 欧美日韩一区视频| 亚洲午夜一区二区| 欧美日韩国产综合一区二区三区| 亚洲最大成人网4388xx| 欧美在线一区二区| 亚洲高清视频在线| 欧美一区二区三区在线视频| 蜜桃91丨九色丨蝌蚪91桃色| 欧美成人vr18sexvr| 精品一区在线看| 国产亚洲一区二区在线观看| 国产剧情一区二区三区| 久久精品人人做人人爽97| 国产成人三级在线观看| 中文字幕在线免费不卡| 91蜜桃婷婷狠狠久久综合9色| 一区二区在线观看av| 欧美在线观看一区二区| 日日欢夜夜爽一区| 久久嫩草精品久久久精品| 成人免费高清在线| 亚洲国产精品一区二区尤物区| 欧美伦理电影网| 老司机午夜精品| 日本一区二区三区高清不卡| 成人福利在线看| 亚洲国产精品久久久久秋霞影院| 884aa四虎影成人精品一区| 国内欧美视频一区二区 | 免费成人在线观看视频| 日本一区二区免费在线| 91久久精品网| 久久超级碰视频| 国产精品美女久久福利网站| 一本大道av伊人久久综合| 日精品一区二区| 国产精品女上位| 欧美午夜片在线观看| 久久国产综合精品| 亚洲人成在线播放网站岛国| 在线成人av网站| 国产·精品毛片| 午夜精品影院在线观看| 国产亚洲福利社区一区| 91福利社在线观看| 国模无码大尺度一区二区三区| 亚洲欧美一区二区在线观看| 91精品久久久久久久91蜜桃| 国产福利一区在线| 亚洲成国产人片在线观看| 国产欧美综合在线观看第十页| 欧美日韩一区二区三区四区五区| 国产一区在线视频| 亚洲成人tv网| 国产精品女人毛片| 91精品国产免费久久综合| 99热在这里有精品免费| 免费在线观看精品| 一区二区三区中文字幕在线观看| 精品毛片乱码1区2区3区| 91久久精品网| 国产999精品久久久久久| 秋霞影院一区二区| 一区二区三区日韩欧美精品| 欧美国产精品一区二区| 欧美一区二区视频在线观看2020 | 成人免费在线视频| 精品久久久久久久久久久久包黑料|