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

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

?? ps2d_mouse_cmd.asm

?? The CY4623 reference design kit offers a complete production-ready solution for a USB or PS/2 optica
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;;*****************************************************************************
;;*****************************************************************************
;;  FILENAME: PS2D_cmd.asm
;;   Version: 1.2, Updated on 2005/07/06 at 13:49:25
;;  Generated by PSoC Designer ver 4.2  b1013 : 02 September, 2004
;;
;;  DESCRIPTION: PS2D User Module command implementation file
;;               for the enCoRe II family of devices
;;
;;  NOTE: User Module APIs conform to the fastcall convention for marshalling
;;        arguments and observe the associated "Registers are volatile" policy.
;;        This means it is the caller's responsibility to preserve any values
;;        in the X and A registers that are still needed after the API
;;        function returns. Even though these registers may be preserved now,
;;        there is no guarantee they will be preserved in future releases.
;;-----------------------------------------------------------------------------
;;  Copyright (c) Cypress Semiconductor 2004, 2005. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************

include "m8c.inc"
include "PS2D.inc"

;-----------------------------------------------
;  Global Symbols
;-----------------------------------------------
export  PS2D_IsStreamMode
export _PS2D_IsStreamMode
export  PS2D_GetResolution
export _PS2D_GetResolution
export  PS2D_GetSampleInterval
export _PS2D_GetSampleInterval
export  PS2D_GetScaling
export _PS2D_GetScaling
export  PS2D_GetDeviceID
export _PS2D_GetDeviceID

export  PS2D_StartDevice

;-----------------------------------------------
;  Persistent RAM Allocation
;-----------------------------------------------

AREA bss (RAM,REL)

export  PS2D_bDeviceID
export _PS2D_bDeviceID
export PS2D_bSampleRateIndex
export PS2D_bMouseScaling
export PS2D_bMouseResolution
export PS2D_bWheelUnlock

 PS2D_bDeviceID:
_PS2D_bDeviceID:                        BLK  1

PS2D_bSampleRateIndex:                  BLK 1
PS2D_bMouseScaling:                     BLK 1
PS2D_bMouseResolution:                  BLK 1
PS2D_bWheelUnlock:                      BLK 1

;-----------------------------------------------
;  PS2 Command Dispatch Tables
;-----------------------------------------------

AREA UserModules (ROM, REL)

PS2D_E6_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_E7_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_E8_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_E9_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_EA_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_EB_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_EC_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_ED_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_EE_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_EF_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_F0_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_F1_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_F2_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_F3_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_F4_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_F5_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_F6_CMD_RESPONSE: equ PS2_CMD_ACK   
PS2D_F7_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_F8_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_F9_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FA_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FB_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FC_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FD_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FE_CMD_RESPONSE: equ PS2_CMD_NO_ACK   
PS2D_FF_CMD_RESPONSE: equ PS2_CMD_ACK   

export PS2D_CMD_RESPONSE
.LITERAL
PS2D_CMD_RESPONSE:
    DB PS2D_E6_CMD_RESPONSE
    DB PS2D_E7_CMD_RESPONSE
    DB PS2D_E8_CMD_RESPONSE
    DB PS2D_E9_CMD_RESPONSE
    DB PS2D_EA_CMD_RESPONSE
    DB PS2D_EB_CMD_RESPONSE
    DB PS2D_EC_CMD_RESPONSE
    DB PS2D_ED_CMD_RESPONSE
    DB PS2D_EE_CMD_RESPONSE
    DB PS2D_EF_CMD_RESPONSE
    DB PS2D_F0_CMD_RESPONSE
    DB PS2D_F1_CMD_RESPONSE
    DB PS2D_F2_CMD_RESPONSE
    DB PS2D_F3_CMD_RESPONSE
    DB PS2D_F4_CMD_RESPONSE
    DB PS2D_F5_CMD_RESPONSE
    DB PS2D_F6_CMD_RESPONSE
    DB PS2D_F7_CMD_RESPONSE
    DB PS2D_F8_CMD_RESPONSE
    DB PS2D_F9_CMD_RESPONSE
    DB PS2D_FA_CMD_RESPONSE
    DB PS2D_FB_CMD_RESPONSE
    DB PS2D_FC_CMD_RESPONSE
    DB PS2D_FD_CMD_RESPONSE
    DB PS2D_FE_CMD_RESPONSE
    DB PS2D_FF_CMD_RESPONSE
.ENDLITERAL
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; Mouse specific API routines
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_GetScaling
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 PS2D_GetScaling:
_PS2D_GetScaling:
    mov    a, [PS2D_bMouseScaling]                ; Return the scaling value
    ret
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_IsStreamMode
;  DESCRIPTION:    Applicable to mouse support.
;                  Return 1 if the interface is in stream mode
;                  Otherwise returns 0
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 PS2D_IsStreamMode:
_PS2D_IsStreamMode:
    mov    a, 0x01                                                        ; Assume stream mode
    cmp    [PS2D_bMode],PS2D_CMD_MODE_STREAM                ; Are we in stream mode?
    jz     .exit
; Flow here when we are not in stream mode
    mov    a, 0x00                                                        ; Return not in stream mode
    
.exit:
    ret
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_GetSampleInterval
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 PS2D_GetSampleInterval:
_PS2D_GetSampleInterval:
    mov    a,[PS2D_bSampleRateIndex]              ; Get the index
    index  PS2D_cValidSampleInterval              ; Return the interval
    ret
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_GetResolution
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 PS2D_GetResolution:
_PS2D_GetResolution:
    mov    a,[PS2D_bMouseResolution]              ; Get the resolution
    ret
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_GetDeviceID
;
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
.SECTION
 PS2D_GetDeviceID:
_PS2D_GetDeviceID:
    mov a, [PS2D_bDeviceID]            ; Simply return the ID
    ret
.ENDSECTION
;-----------------------------------------------------------------------------
; Mouse specific Dispatch routines
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_CmdSetSampleRate
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.LITERAL
PS2D_cValidSampleRates:    DB  10, 20, 40, 60, 80, 100, 200
PS2D_cValidSampleInterval: DB 100, 50, 25, 17, 13,  10,   5
PS2D_cSizeOfValidSampleRates: equ   PS2D_cValidSampleInterval - PS2D_cValidSampleRates
.ENDLITERAL

 PS2D_CmdSetSampleRate:
.get_byte:
    call   PS2D_GetHostByte                       ; Get the host byte if one is available
    swap   a,x                                    ; Swap bytes to make the check
    cmp    a, 0x00                                ; Zero signals we have a byte
    jnz    .get_byte                              ; Keep trying to get the rate byte

; Validate the sample rate
; Build a little stack frame
    swap   a,x          ; Get it back
    push   a            ; x-2 sample rate
    mov    a,0          ; 
    push   a            ; x-1 index, initialized to 0
    mov    x,sp         ; Here we use x as a frame pointer

.check_next:
    mov    a,[x-1]
    index  PS2D_cValidSampleRates
    cmp    a,[x-2]
    jz     .found

; Flow here to increment the index and check for termination case
    inc    [x-1]
    cmp    [x-1],PS2D_cSizeOfValidSampleRates
    jnz    .check_next

;   Flow here if the sample rate was not found in the table
    call   PS2D_SendResponseError                 ;
    jmp    .clean_up
        
; Jump here when we valiate the sample rate
.found:
    mov    a,[x-1]                                ; Get the index
    mov    [PS2D_bSampleRateIndex], a             ; And save it
    call   PS2D_CheckWheelUnlock

    call   PS2D_SendResponseACK                   ;

.clean_up:
    add    sp,-2                                  ; Clean up the stack
    ret
;-----------------------------------------------------------------------------
;  FUNCTION NAME: PS2D_CmdResetWrapMode
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
PS2D_CmdResetWrapMode:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成网站色在线观看| 一区二区三区av电影| 91一区在线观看| 秋霞午夜鲁丝一区二区老狼| 亚洲国产aⅴ成人精品无吗| 日韩一区二区电影在线| 91片黄在线观看| 国产精品综合一区二区三区| 亚洲高清免费观看高清完整版在线观看| 久久综合久久99| 欧美日韩国产精选| 成人av资源在线观看| 精品一区二区三区不卡| 亚洲国产综合91精品麻豆| 国产精品久久久久久久第一福利| 欧美电影免费观看高清完整版在线| 91伊人久久大香线蕉| 高清久久久久久| 韩国精品久久久| 日本成人在线不卡视频| 亚洲一区二区精品久久av| 国产精品不卡一区| 国产欧美精品一区二区三区四区| 日韩一级二级三级精品视频| 欧美唯美清纯偷拍| 久久欧美中文字幕| 91 com成人网| 欧美日韩亚州综合| 欧洲精品中文字幕| 欧美影院一区二区| 欧美在线制服丝袜| 欧洲av在线精品| 在线免费观看一区| 在线观看日韩精品| 欧美亚洲国产一区二区三区va| 99vv1com这只有精品| www.欧美日韩| 91亚洲国产成人精品一区二区三| 成人免费高清在线观看| 成人av在线看| 97久久精品人人做人人爽50路| 成人高清视频在线观看| 成人h精品动漫一区二区三区| 懂色av一区二区三区蜜臀| 成人午夜激情影院| 99久久亚洲一区二区三区青草| 成人久久视频在线观看| jlzzjlzz亚洲女人18| 色婷婷亚洲精品| 欧美在线观看一二区| 欧美精品久久久久久久久老牛影院| 欧美日本国产一区| 日韩一区和二区| 亚洲欧美一区二区不卡| 成人欧美一区二区三区| 亚洲自拍偷拍av| 天天影视网天天综合色在线播放| 日韩av高清在线观看| 久久电影国产免费久久电影| 国产美女一区二区三区| 北条麻妃一区二区三区| 91成人网在线| 欧美一三区三区四区免费在线看| 欧美刺激午夜性久久久久久久| 精品国产免费人成在线观看| 亚洲国产成人自拍| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲一级二级三级在线免费观看| 日韩高清一区二区| 国产iv一区二区三区| 一本大道久久a久久精二百| 69久久99精品久久久久婷婷 | 在线精品亚洲一区二区不卡| 精品视频123区在线观看| 欧美一区二区免费视频| 久久久国产综合精品女国产盗摄| 亚洲少妇中出一区| 日本一道高清亚洲日美韩| 国产精品中文有码| 欧美亚日韩国产aⅴ精品中极品| 日韩欧美二区三区| 国产精品麻豆网站| 人人精品人人爱| 99热这里都是精品| 日韩一区二区三| 亚洲天堂av一区| 久热成人在线视频| 91精彩视频在线| 久久中文娱乐网| 亚洲小少妇裸体bbw| 国产精品18久久久久久久久 | 欧美日韩综合在线免费观看| 欧美精品一区二| 亚洲已满18点击进入久久| 国产麻豆一精品一av一免费| 欧美系列在线观看| 中文字幕av一区 二区| 日本不卡中文字幕| 92国产精品观看| 久久九九99视频| 奇米精品一区二区三区在线观看一| 国产不卡视频一区| 日韩午夜小视频| 亚洲国产wwwccc36天堂| 成人av网站免费观看| 欧美不卡一区二区| 午夜影院久久久| 一本一道综合狠狠老| 欧美激情艳妇裸体舞| 久久国产精品露脸对白| 欧美日韩亚洲高清一区二区| 亚洲天堂免费看| 成人在线综合网| 久久视频一区二区| 奇米影视一区二区三区| 欧美日韩中文一区| 一区二区三区日韩| www.欧美精品一二区| 国产人久久人人人人爽| 久久福利资源站| 欧美电视剧免费全集观看| 午夜影院在线观看欧美| 欧美唯美清纯偷拍| 一区二区三区精品视频| 91丨porny丨国产| 国产精品久久看| 波多野结衣亚洲| 国产精品久久久久桃色tv| 国产成人午夜精品5599| 国产亚洲综合性久久久影院| 精品在线观看视频| 精品不卡在线视频| 精彩视频一区二区| 久久久影院官网| 国产麻豆精品theporn| 欧美mv和日韩mv国产网站| 久久精品久久综合| 精品少妇一区二区三区在线播放 | 日韩中文欧美在线| 91精品国产一区二区| 免费观看在线综合| 精品精品欲导航| 狠狠色狠狠色综合日日91app| 精品国产乱子伦一区| 国产一区在线不卡| 日本一区二区成人| 99久久久无码国产精品| 亚洲精品国产视频| 欧美日韩国产区一| 美美哒免费高清在线观看视频一区二区 | 久久99热这里只有精品| 久久在线观看免费| 成人在线视频一区二区| 亚洲欧美日韩国产一区二区三区| 一本大道综合伊人精品热热| 视频在线观看一区| 精品国产区一区| www.欧美日韩国产在线| 亚洲综合999| 欧美电视剧在线看免费| 成人一区二区三区视频| 亚洲精选视频在线| 欧美一卡二卡三卡| 国产精品123区| 依依成人精品视频| 日韩一区二区中文字幕| 国产.欧美.日韩| 亚洲一区二区精品久久av| 日韩免费高清视频| 波波电影院一区二区三区| 亚洲国产精品一区二区久久| 欧美xxxxxxxx| 色婷婷综合久久久久中文一区二区| 午夜欧美大尺度福利影院在线看| 精品国内二区三区| 99国产精品久| 免费看欧美美女黄的网站| 天天综合日日夜夜精品| 国产天堂亚洲国产碰碰| 欧美综合视频在线观看| 韩国女主播一区| 一区二区三区高清不卡| 精品久久久久av影院 | 成人av免费在线播放| 午夜不卡av在线| 国产精品乱码一区二区三区软件 | 精品亚洲aⅴ乱码一区二区三区| 国产精品久久久久永久免费观看| 在线不卡a资源高清| 成人午夜视频在线| 日本一道高清亚洲日美韩| 综合激情成人伊人| 精品欧美一区二区三区精品久久| 色就色 综合激情| 国产suv精品一区二区三区| 午夜精品aaa| 日韩美女视频一区二区| 精品日韩欧美一区二区| 欧美探花视频资源| 成人sese在线|