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

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

?? myusb_std.asm

?? 實(shí)現(xiàn)2個(gè)ps/2接口轉(zhuǎn)到1個(gè)USB接口功能
?? ASM
?? 第 1 頁 / 共 4 頁
字號(hào):
;-----------------------------------------------------------------------------
;
;  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_06 & USB_UM_SUPPLIED)
export  myUSB_CB_d2h_std_dev_06
myUSB_CB_d2h_std_dev_06:
;-----------------------------------------------------------------------------
; Dispatch to the proper handler
;-----------------------------------------------------------------------------
    MOV     A, REG[myUSB_EP0DATA+wValueHi] ; Get the descrptor type
    ASL     A                          ; Make it into a offset
    CMP     A, GET_DESCR_DISPATCH_SIZE         ; Validity check
    JNC     myUSB_Not_Supported

    JACC    GET_DESCR_DISPATCH

GET_DESCR_DISPATCH:
    JMP     myUSB_Not_Supported        ; Invalid
    JMP     myUSB_SendDeviceDescr      ; Device Descriptor
    JMP     myUSB_SendConfigDescr      ; Configuration Descriptor
IF  myUSB_bNumStringDescrs             ; Number of String Descriptor defined with the Wizard
    JMP     myUSB_SendStringDescr      ; String Descriptor
ELSE
    JMP     myUSB_Not_Supported        ; Not supported if we don't have
                                            ; any String Descriptor
ENDIF
GET_DESCR_DISPATCH_END:
GET_DESCR_DISPATCH_SIZE: EQU (GET_DESCR_DISPATCH_END - GET_DESCR_DISPATCH)     
;-----------------------------------------------------------------------------
; Configuration Descriptor Handler
;-----------------------------------------------------------------------------
myUSB_SendConfigDescr:
    CALL    myUSB_GET_DEVICE_TABLE_ENTRY
    SWAP    A, X
    ADD     A, 2                       ; We want the pointer to the descriptor table (second entry)
    SWAP    A, X
    ADC     A, 0                       ; Don't forget the carry
    MOV    [myUSB_t2], myUSB_t1        ; Set up the destination  
    CALL    myUSB_GETWORD              ; Get the pointer
    
    MOV     A, [myUSB_t1]              ; Pointer MSB
    MOV     X, [myUSB_t1+1]            ; Pointer LSB
    
    PUSH    A                          ; Save the MSB
    
    MOV     A, REG[myUSB_EP0DATA+wValueLo]  ; Get the descrptor index
    MOV     [myUSB_t2], A              ; Use the UM temp var--Selector
    POP     A                          ; Need the MSB for the range check
    PUSH    A                          ; Save the MSB for after the range check
    ROMX                               ; First entry is the table size (only a byte)
    CMP     A, [myUSB_t2]              ; Range check
    JNC     .range_ok
    
    POP     A                          ; Fix the stack
    JMP    myUSB_Not_Supported

.range_ok:
    POP     A                          ; Get the MSB back
    JMP     myUSB_GetTableEntry_Local_Std
;-----------------------------------------------------------------------------
; Device Descriptor Handler
;-----------------------------------------------------------------------------
myUSB_SendDeviceDescr:
    MOV     [myUSB_t2], [myUSB_bCurrentDevice]  ; Use the UM temp var--Selector
    MOV     A,>myUSB_DEVICE_DESCR_TABLE  ; Get the ROM Address MSB
    MOV     X,<myUSB_DEVICE_DESCR_TABLE  ; Get the ROM Address LSB
    ROMX                               ; First entry is the table size (only a byte)
    CMP     A, [myUSB_t2]              ; Range check
    JC      myUSB_Not_Supported

    MOV     A,>myUSB_DEVICE_DESCR_TABLE  ; Get the ROM Address MSB

    JMP     myUSB_GetTableEntry_Local_Std
;-----------------------------------------------------------------------------
; String Descriptor Handler
;-----------------------------------------------------------------------------
IF  myUSB_bNumStringDescrs    ; Not needed if we don't have any String Descriptors
myUSB_SendStringDescr:
    MOV     A, REG[myUSB_EP0DATA+wValueLo]  ; Get the descrptor index
    MOV     [myUSB_t2], A              ; Use the UM temp var--Selector

    MOV     A,>myUSB_StringTable       ; Get the ROM Address MSB
    MOV     X,<myUSB_StringTable       ; Get the ROM Address LSB
    ROMX                               ; First entry is the table size (only a byte)
    CMP     A, [myUSB_t2]              ; Range check
    JC      myUSB_Not_Supported

    MOV     A,>myUSB_StringTable       ; Get the ROM Address MSB

    JMP     myUSB_GetTableEntry_Local_Std
ENDIF
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: myUSB_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, myUSB_Configuration, NULL_PTR  ; Current configuration
.ENDLITERAL
export  myUSB_CB_d2h_std_dev_08
myUSB_CB_d2h_std_dev_08:
    MOV     [myUSB_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     myUSB_GetTableEntry_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: myUSB_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  myUSB_CB_h2d_std_dev_01
myUSB_CB_h2d_std_dev_01:
    MOV     A, REG[myUSB_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     myUSB_Not_Supported        ;      
    AND     [myUSB_DeviceStatus], ~USB_DEVICE_STATUS_REMOTE_WAKEUP
    JMP     myUSB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: myUSB_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  myUSB_CB_h2d_std_dev_03
myUSB_CB_h2d_std_dev_03:
    MOV     A, REG[myUSB_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     myUSB_Not_Supported
; Jump here to enable remote wake up
.remote_wakeup:
    OR      [myUSB_DeviceStatus], USB_DEVICE_STATUS_REMOTE_WAKEUP
    JMP     .finish
; Jump here to enable test mode
.test_mode:
    JMP     myUSB_Not_Supported
.finish:
    JMP     myUSB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: myUSB_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  myUSB_CB_h2d_std_dev_05
myUSB_CB_h2d_std_dev_05:
      
    MOV     [myUSB_fDataPending], USB_ADDRESS_CHANGE_PENDING       
    MOV     A, REG[myUSB_EP0DATA+wValueLo]       
    MOV     [myUSB_TransferBuffer],A       
                                                   
    JMP     myUSB_NoDataStageControlTransfer_Local_Std
ENDIF
;-----------------------------------------------------------------------------
;  FUNCTION NAME: myUSB_CB_h2d_std_dev_09
;
;  DESCRIPTION:   Set Configuration
;
;****************************************************************
; STANDARD DEVICE OUT REQUEST: Set_Device_Configuration
;****************************************************************
;
; bmRequestType  : (OUT | STANDARD | DEVICE)      = 00h

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美裸体一区二区三区| 亚洲国产精品成人综合| 欧美专区亚洲专区| aa级大片欧美| 成人精品gif动图一区| 成人午夜电影小说| 成人午夜视频在线观看| 不卡的av电影| 91偷拍与自偷拍精品| 91猫先生在线| 欧美图区在线视频| 欧美日韩国产在线播放网站| 欧美男男青年gay1069videost| 欧美色网一区二区| 欧美精品乱码久久久久久按摩| 欧美一卡二卡在线观看| 久久日一线二线三线suv| 国产欧美日韩不卡免费| 中文字幕av一区二区三区高 | 国产亚洲一区二区三区四区| 久久免费美女视频| 欧美国产日本韩| 亚洲欧美日韩国产成人精品影院| 一区二区三区在线观看网站| 亚洲福利一区二区| 久久精品国产免费| 成人免费看的视频| 色狠狠av一区二区三区| 91麻豆精品国产91久久久久| 精品国产91洋老外米糕| 国产精品视频一区二区三区不卡| 亚洲视频每日更新| 日韩国产欧美三级| 国产成人aaa| 在线免费观看一区| 欧美大片日本大片免费观看| 国产视频亚洲色图| 亚洲一区精品在线| 黄页视频在线91| 99国产精品一区| 欧美日产在线观看| 国产亚洲污的网站| 亚洲资源中文字幕| 国产在线精品一区二区三区不卡 | 日本韩国欧美一区| 欧美成人猛片aaaaaaa| 国产精品成人午夜| 日韩国产欧美一区二区三区| 成人高清视频免费观看| 欧美久久久久久蜜桃| 中文字幕不卡三区| 日韩国产精品久久久| 99视频在线精品| 91麻豆精品久久久久蜜臀| 中文成人av在线| 午夜精品国产更新| 成人晚上爱看视频| 欧美哺乳videos| 一区二区三区日本| 国产成人免费视| 欧美精品久久一区| 国产欧美1区2区3区| 国产在线播放一区三区四| 琪琪久久久久日韩精品| 国产伦精品一区二区三区免费| www.视频一区| 精品国产一二三| 亚洲综合另类小说| 国产乱码精品一区二区三区忘忧草| 欧美在线观看视频一区二区| 国产色一区二区| 老司机精品视频在线| 欧美三级电影在线看| 中文字幕中文字幕一区二区| 激情综合网激情| 欧美日韩国产综合一区二区三区| 欧美国产综合一区二区| 激情综合色丁香一区二区| 欧美四级电影网| 国产精品久久久久久亚洲毛片 | 成人动漫一区二区| 精品日韩成人av| 午夜在线成人av| 91一区二区在线| 国产精品色婷婷久久58| 国产精品亚洲综合一区在线观看| 欧美一区二区三区视频| 亚洲mv大片欧洲mv大片精品| 在线中文字幕不卡| 最新日韩av在线| 成人性生交大片免费 | 精品一区二区三区免费观看 | 精品欧美一区二区久久| 精品国精品国产| 奇米影视7777精品一区二区| 欧美日韩不卡一区二区| 亚洲午夜免费视频| 日本高清不卡视频| 亚洲永久免费av| 欧美无人高清视频在线观看| 亚洲一区二区三区精品在线| 在线亚洲精品福利网址导航| 亚洲精品成人少妇| 色综合久久88色综合天天6| 欧美一区二区三区爱爱| 性感美女久久精品| 欧美三级日韩三级| 亚洲欧美在线视频观看| 丁香六月综合激情| 国产嫩草影院久久久久| 成人亚洲一区二区一| 中文字幕欧美激情| 成人做爰69片免费看网站| 国产精品网站一区| 99久久久精品| 一区二区三区精品| av电影在线不卡| 国产精品高潮呻吟久久| 日韩一二三区不卡| 亚洲综合激情小说| 日韩视频免费观看高清完整版在线观看| 麻豆精品视频在线| 亚洲国产精品久久不卡毛片| 日韩欧美一区二区视频| 久久尤物电影视频在线观看| 亚洲国产高清在线| 国产精品资源网| 日韩精品中文字幕在线不卡尤物| 亚洲国产精品久久久久婷婷884| 色综合网色综合| 中文字幕第一区二区| 国产成人在线视频免费播放| 久久亚洲精品国产精品紫薇| 久久99精品国产麻豆不卡| 日韩一区二区三区观看| 日韩精品一级中文字幕精品视频免费观看 | 在线播放欧美女士性生活| 亚洲午夜成aⅴ人片| 欧美性猛片aaaaaaa做受| 亚洲美腿欧美偷拍| 色综合色综合色综合色综合色综合 | 色94色欧美sute亚洲线路一ni | 国产一区二三区好的| 欧美v日韩v国产v| 精品一区二区三区免费毛片爱 | 亚洲精品一区二区三区福利| 久久99国产精品久久99| 久久久久久免费网| 成人午夜av在线| 亚洲免费在线视频| 欧美午夜电影网| 蜜桃久久精品一区二区| 久久人人97超碰com| 成人综合激情网| 亚洲女同一区二区| 欧美三区在线观看| 免费日韩伦理电影| 久久免费美女视频| 91一区二区在线| 视频一区中文字幕国产| 精品久久99ma| 成a人片国产精品| 亚洲精品ww久久久久久p站| 欧美性猛交xxxxxx富婆| 日本麻豆一区二区三区视频| 2023国产精华国产精品| av电影在线观看不卡| 亚洲chinese男男1069| 欧美精品一区二区在线观看| 国产.欧美.日韩| 亚洲午夜影视影院在线观看| 日韩亚洲电影在线| 粉嫩欧美一区二区三区高清影视| 亚洲免费三区一区二区| 欧美一区二区久久| 99久久婷婷国产| 日韩成人伦理电影在线观看| 日本一区二区视频在线| 欧美日韩国产免费一区二区| 国产成人亚洲综合a∨婷婷图片| 日韩伦理电影网| 日韩欧美国产麻豆| 91在线播放网址| 欧美图区在线视频| 一区二区三区精密机械公司| 欧美一区二区精品在线| 99视频一区二区三区| 免费观看一级欧美片| 综合久久久久久| 精品国产乱码久久久久久久| 91免费精品国自产拍在线不卡| 人人爽香蕉精品| 国产精品成人免费| 日韩天堂在线观看| 色婷婷久久综合| 国产成人综合亚洲网站| 首页亚洲欧美制服丝腿| 亚洲欧洲综合另类在线| 国产亚洲一本大道中文在线| 日韩丝袜美女视频|