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

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

?? jry9524_63723_asm.htm

?? Cy7c63723的完整固件 cy7c63723和CY7C63001相比
?? HTM
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.driverdevelop.com/source/jry9524_63723.asm -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1528" name=GENERATOR></HEAD>
<BODY><PRE>;***************************************************************************
;
; File: 637mouse.asm
; Version: 1.02
; Description: This code provides both PS/2 and USB support for a combi
;              mouse
; Target: Cypress CY7C63743
;
; Overview
;        On power up, the firmware starts executing code at address 0h. 
; After some housekeeping tasks it will determine whether it is attached to
; a USB or a PS2 interface. From that, it will branch either to USB_Main or
; PS2_Main.
;
; PS2 Overview
;        There are four main tasks:
;        * PS2_Main
;        * buttons (common to USB and PS2)
;        * optics (common to USB and PS2)
;        * PS2_DoCommand - processing of PS2 commands from host
;
; PS2_Main
;        This routine initializes the PS2 variables, the IO ports, computes
; the (X,Y) coordinates of mouse movement, the Z-coordinate of wheel motion,
; if needed, determines which button has been pressed and sends out a mouse 
; packet to a host.
;
; PS2_DoCommand
;        When a host wants to send data to the mouse it will drive the
; SDATA line low. The PS2_Main task will continuously poll it and will clock 
; in the data. The latter will be parsed and processed.
;
; USB Overview
;        There are also four main tasks: 
;        * USB_Main
;        * buttons (common to USB and PS2)
;        * optics (common to USB and PS2)
;        * suspend/resume 
;
; USB_Main
;        This routine initializes the USB variables, the IO ports, the mouse
; logic, and the data space. All USB communication occurs on an interrupt 
; basis.
; 
;        Endpoint 0 is used to support Control Transfers and vendor specific
; requests.  During enumeration setup commands are sent to endpoint1 to 
; initialize the USB device and to extract configuration information from the
; device
;
;        Endpoint 1 is used to transfer interrupt data back to the host.  
; In this case we transfer data from the button and optics back to the host. 
;
; Buttons
;        The buttons are polled every millisecond inside the 1ms handler and
; processed in the main task loop.
;
; Optics
;        The optics for mouse mouvement (X,Y,Z) are continuously polled
; and processed in the main task loop.  The quadrature state of the optics
; tells us which direction the mouse is moving in. This data is sent back to
; the host as an offset from the last time the mouse was polled for data by
; the host. Further, for PS/2, the optics will be polled and processed every
; time a bit is sent out or received. This prevents missing any optics count
; during PS2 data transfer.
;
; Suspend/Resume
;        Every millisecond, the USB is polled for activity. If no activity
; occurs for three milliseconds, then it is assumed that the USB is in 
; suspend.  Because this device supports remote wakeup, pressing the buttons
; or moving the mouse causes the firmware to send resume signalling back 
; to the host to wakeup and resume operation.
;
; Endpoint1 packet definition
;     Byte      Usage
;      0    Button Data 7-3 Not used, 2=middle, 1=right, 0=left
;      1    horizontal displacement measured via the optics
;      2    vertical displacement measured via the optics
;      3    z-displacement (wheel) measured via the optics
;
; Revisions:
;    10/09/00: Original Version. Taken from u5combi.asm, v.1.03
;
;    1.00    
;       Fixed the Chapter 9 Test - device remote wakeup
;
;    1.01    
;       Fixed the suspend current requirements by explicitly writing SUSPEND
; and RUN bits of the processor status control register when going into 
; suspend
;
;    1.02
;	Convert TABS into spaces. No code change.
;    
;***************************************************************************
;
;        Copyright 2000 Cypress Semiconductor
;    This code is provided by Cypress as a reference.  Cypress makes no
;    claims or warranties to this firmware's suitability for any 
;    application. 
;
;*************************************************************************** 

    CPU    63743

    XPAGEON

    INCLUDE "637xx.inc"
    INCLUDE "USB.inc"
    INCLUDE "PS2.inc"
    INCLUDE "macros.inc"

;
; Supported Interfaces 
;
USB_MOUSE:                      equ    01h
PS2_MOUSE:                      equ    00h

;
; EP0 In-Transaction State Machine
;
EP0_IN_IDLE:                    equ    00h
CONTROL_READ_DATA:              equ    02h
NO_DATA_STATUS:                 equ    04h
EP0_IN_STALL:                   equ    06h

;
; EP0 No-Data Control Flags
;
ADDRESS_CHANGE_PENDING:         equ    00h
NO_CHANGE_PENDING:              equ    02h

;
; Response Sizes
;
DEVICE_STATUS_LENGTH:           equ    2
DEVICE_CONFIG_LENGTH:           equ    1
ENDPOINT_STALL_LENGTH:          equ    2
INTERFACE_STATUS_LENGTH:        equ    2
INTERFACE_ALTERNATE_LENGTH:     equ    1
INTERFACE_PROTOCOL_LENGTH:      equ    1

;
; General Constants
;
BIT0:                           equ    01h
BIT1:                           equ    02h
BIT2:                           equ    04h
BIT3:                           equ    08h
BIT4:                           equ    10h
BIT5:                           equ    20h
BIT6:                           equ    40h
BIT7:                           equ    80h

;
; Interface Constants - they need to be redefined for a new hardware platform
;
DUAL_DSP_DATA:                  equ    20h      ; top of data stack 
                                                ; (for PUSH/POP instructions)
LEFT_BUTTON_PORT:               equ    PORT0
LEFT_BUTTON_MASK:               equ    BIT7

RIGHT_BUTTON_PORT:              equ    PORT1
RIGHT_BUTTON_MASK:              equ    BIT0

MIDDLE_BUTTON_PORT:             equ    PORT1
MIDDLE_BUTTON_MASK:             equ    BIT1

OPTICS_PORT:                    equ    PORT0

X_LEFT_OPTICS_PORT:             equ    PORT0
X_LEFT_OPTICS_MASK:             equ    BIT0
X_RIGHT_OPTICS_PORT:            equ    PORT0
X_RIGHT_OPTICS_MASK:            equ    BIT1

Y_LEFT_OPTICS_PORT:             equ    PORT0
Y_LEFT_OPTICS_MASK:             equ    BIT2
Y_RIGHT_OPTICS_PORT:            equ    PORT0
Y_RIGHT_OPTICS_MASK:            equ    BIT3

Z_UP_OPTICS_PORT:               equ    PORT0
Z_UP_OPTICS_MASK:               equ    BIT4
Z_DOWN_OPTICS_PORT:             equ    PORT0
Z_DOWN_OPTICS_MASK:             equ    BIT5

LED_PORT:                       equ    PORT0
LED_MASK:                       equ    BIT6
    ;
    ; Normal operating mode - configure buttons as resistive/CMOS
    ; LED as medium sink/CMOS and optics (x,y,z) as HI-Z/CMOS
    ;
PORT0_NORMAL:                   equ    80h
PORT0_MODE1_NORMAL:             equ    80h
PORT0_MODE0_NORMAL:             equ    40h

PORT1_NORMAL:                   equ    03h
PORT1_MODE1_NORMAL:             equ    03h
PORT1_MODE0_NORMAL:             equ    00h

    ;
    ; Suspend operating mode (no wake up) - configure buttons as 
    ; medium sink/CMOS, LED as resistive/CMOS and 
    ; optics (x,y,z) as HI-Z/CMOS
    ;
PORT0_SUSPEND:                  equ    40h
PORT0_MODE1_SUSPEND:            equ    40h
PORT0_MODE0_SUSPEND:            equ    80h

PORT1_SUSPEND:                  equ    00h
PORT1_MODE1_SUSPEND:            equ    00h
PORT1_MODE0_SUSPEND:            equ    03h

    ;
    ; Suspend with remote wake-up - configure buttons as resistive/CMOS
    ; LED as resistive/CMOS and optics (x,y,z) as HI-Z/CMOS
    ;
PORT0_SUSRW:                    equ    0C0h
PORT0_MODE1_SUSRW:              equ    0C0h
PORT0_MODE0_SUSRW:              equ    00h

PORT1_SUSRW:                    equ    03h
PORT1_MODE1_SUSRW:              equ    03h
PORT1_MODE0_SUSRW:              equ    00h

BUTTON_DEBOUNCE:                equ    15       ; 15ms debouce time
MOUSE_PACKET_4:                 equ    4        ; 4-byte mouse packet
MOUSE_PACKET_3:                 equ    3        ; 3-byte mouse packet

;
; Button State Machine
;
NO_BUTTON_DATA_PENDING:         equ    00h
BUTTON_DATA_PENDING:            equ    02h       ; state defined any time
                                                 ; we read a button
;
; Optics State Machine
;
NO_OPTIC_DATA_PENDING:          equ    00h
OPTIC_DATA_PENDING:             equ    02h       ; state defined any time
                                                 ; we read the optics
;
; Event State Machine
;
NO_EVENT_PENDING:               equ    00h
EVENT_PENDING:                  equ    02h       ; state defined any time 
                                                 ; we have mouse packet to
                                                 ; be sent back to host
;
; Transaction Types
;
TRANS_NONE:                     equ    00h
TRANS_CONTROL_READ:             equ    02h
TRANS_CONTROL_WRITE:            equ    04h
TRANS_NO_DATA_CONTROL:          equ    06h

;
; Optics &amp; Button Variables
;
debounceCount:                  equ    20h      ; debounce counters for buttons
currentButtonState:             equ    21h      ; current button status 
lastButtonState:                equ    22h      ; last read value of buttons

opticStatus:                    equ    23h      ; current optic status
xCount:                         equ    24h      ; current optics x state
yCount:                         equ    25h      ; current optics y state
zCount:                         equ    26h      ; current wheel button state
                            
buttonMachine:                  equ    27h      ; buttons/optics state machine
eventMachine:                   equ    28h      ; state machine for sending data back to host
vertMachine:                    equ    29h      ; y-axis state machine
horzMachine:                    equ    2Ah      ; x-axis state machine
zMachine:                       equ    2Bh      ; z-axis (wheel) state machine

lastVertState:                  equ    2Ch      ; last read y-axis optics
lastHorzState:                  equ    2Dh      ; last read x-axis optics
lastZstate:                     equ    2Eh      ; last read z-axis optics
                                                ; (wheel)

temp:                           equ    2Fh      ; temporary register
buttonValue:                    equ    30h
buttonTemp:                     equ    31h

;
; Dual Interface Variables
;
                                          
dualInterfaceMouse:             equ    32h      ; mouse type
delayCounter:                   equ    33h      ; delay counter
dualInterface1ms:               equ    34h      ; 1ms counter

;
; USB Variables
;
suspendCount:                   equ    35h      ; usb suspend counter
ep1DataToggle:                  equ    36h      ; endpoint 1 data toggle
ep0DataToggle:                  equ    37h      ; endpoint 0 data toggle
dataStart:                      equ    38h      ; ROM table address, start of data
dataCount:                      equ    39h      ; data count to return to host
maximumDataCount:               equ    3Ah      ; maximum size of data to return to host
ep0InMachine:                   equ    3Bh      ; endpoint 0 IN state machine
ep0InFlag:                      equ    3Ch      ; endpoint 0 flag for no-data control
configuration:                  equ    3Dh      ; configured/not configured state
remoteWakeup:                   equ    3Eh      ; remote wakeup on/off
ep1Stall:                       equ    3Fh      ; endpoint 1 stall on/off
idle:                           equ    40h      ; HID idle timer
intTemp:                        equ    41h      ; interrupt routine temp variable
idleTimer:                      equ    42h      ; HID idle timer
idlePrescaler:                  equ    43h      ; HID idle prescale (4ms)
ep0Transtype:                   equ    44h      ; Endpoint 0 transaction type
pendingData:                    equ    45h      ; data pending during no-data control
protocol:                       equ    46h      ; mouse protocol boot/report

;
; PS2 Variables - written on top of USB variables
;
ps2Temp0:                       equ    35h

ps2LastValidCmd:                equ    36h
ps2InvalidCmdCount:             equ    37h
ps2ReportRate:                  equ    38h
ps2ReportInterval:              equ    39h
ps2Scale:                       equ    3Ah
ps2StreamMode:                  equ    3Bh
ps2Resolution:                  equ    3Ch
ps2MouseEnabled:                equ    3Dh
ps2Wheel:                       equ    3Eh
ps2WrapMode:                    equ    3Fh

ps2IntervalCount:               equ    40h       ; send back a mouse packet
                                                 ; when this interval expires
sequence:                       equ    41h
saveCmd:                        equ    42h
ps2XmitBuffer:                  equ    43h
ps2XmitBuffer0:                 equ    ps2XmitBuffer+0
ps2XmitBuffer1:                 equ    ps2XmitBuffer+1
ps2XmitBuffer2:                 equ    ps2XmitBuffer+2
ps2XmitBuffer3:                 equ    ps2XmitBuffer+3

ps2XmitBufferLen:               equ    ps2XmitBuffer+4    ; total bytes to send
ps2XmitLen:                     equ    ps2XmitBuffer+5    ; remaining bytes to send


;********************************************************************
;
; Interrupt Vector Table
;
;********************************************************************
    ORG 00h            

jmp    dualMain                         ; power up        
jmp    dualUsbBusReset_ps2Error         ; USB reset / error
jmp    errorHandler                     ; 128us interrupt
jmp    dual1msTimer                     ; 1.024ms interrupt
jmp    dualUsbEndpoint0_ps2Error        ; Endpoint 0 interrupt / error
jmp    dualUsbEndpoint1_ps2Error        ; Endpoint 1 interrupt / error
jmp    errorHandler                     ; Endpoint 2 interrupt
jmp    errorHandler                     ; Reserved
jmp    errorHandler                     ; Capture timer A interrupt Vector
jmp    errorHandler                     ; Capture timer B interrupt Vector
jmp    errorHandler                     ; GPIO interrupt vector
jmp    dualUsbWakeup_ps2Error           ; Wake-up interrupt / error


;********************************************************************
; Error Handler
;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品电影在线观看| 欧美成人精品福利| 日本高清不卡在线观看| 99精品欧美一区二区蜜桃免费| 国产成人aaa| 国产乱理伦片在线观看夜一区| 国产一区激情在线| 国产精品亚洲第一区在线暖暖韩国| 久99久精品视频免费观看| 久久精品国产精品亚洲精品| 精彩视频一区二区三区| 国产乱码精品1区2区3区| 粉嫩aⅴ一区二区三区四区| 粉嫩一区二区三区在线看| 91一区二区三区在线观看| 99re这里只有精品视频首页| 在线区一区二视频| 在线成人av网站| 日韩无一区二区| 日韩精品一二三四| 日韩福利电影在线观看| 另类人妖一区二区av| 九九久久精品视频| 国产iv一区二区三区| 99久久综合国产精品| 在线亚洲欧美专区二区| 欧美精品三级日韩久久| 日韩午夜激情av| 中文字幕高清不卡| 亚洲免费视频成人| 日韩精品成人一区二区在线| 精品一区二区三区在线观看 | 日韩在线卡一卡二| 精品一区二区在线播放| 成人av高清在线| 欧美色图12p| 久久一日本道色综合| 中文字幕av免费专区久久| 一区二区三区小说| 日韩高清一区二区| 成人免费视频播放| 欧美日韩精品一区二区三区 | 国产精品久久久久久久久久久免费看| 亚洲精品视频在线| 日本三级韩国三级欧美三级| 国产精品一区在线观看乱码| 91麻豆免费看| 精品三级av在线| 1024精品合集| 亚洲va国产va欧美va观看| 国产一区美女在线| 欧美图区在线视频| 久久久久久亚洲综合影院红桃| 中文字幕日韩一区| 日韩精品亚洲专区| 菠萝蜜视频在线观看一区| 欧美巨大另类极品videosbest | 成人深夜福利app| 51精品国自产在线| 国产精品灌醉下药二区| 美女视频一区二区三区| 99久久99久久精品免费观看 | 日本一区二区免费在线| 五月婷婷激情综合网| 成人永久aaa| 欧美一区二区三区四区久久| 国产精品国产三级国产普通话三级| 午夜欧美电影在线观看| 成人黄色在线视频| 91.xcao| 亚洲欧洲日韩在线| 国产一区二区三区四区在线观看| 欧美日韩久久久久久| 欧美国产精品v| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一三区三区四区免费在线看 | 欧美午夜精品理论片a级按摩| 国产日韩欧美a| 久久精工是国产品牌吗| 欧美性xxxxx极品少妇| 中国av一区二区三区| 麻豆国产91在线播放| 欧美群妇大交群中文字幕| 亚洲人成影院在线观看| 国产乱码精品一区二区三区忘忧草| 91精品视频网| 午夜精品一区在线观看| 一本大道av伊人久久综合| 国产亚洲欧美日韩俺去了| 九色综合狠狠综合久久| 日韩你懂的在线播放| 日韩精品每日更新| 欧美日韩一区小说| 亚洲一区免费在线观看| 色一情一乱一乱一91av| 国产精品第五页| 成人久久视频在线观看| 国产日本欧洲亚洲| 国产精品伊人色| 久久久另类综合| 国产一区二区福利| 久久久不卡网国产精品一区| 国产一区二区h| 久久综合成人精品亚洲另类欧美 | 亚洲成a人片综合在线| 日本韩国一区二区三区视频| 国产精品国产三级国产a | 欧美精品三级日韩久久| 亚洲h在线观看| 欧美日韩成人在线| 五月婷婷激情综合| 91精品国产欧美一区二区成人| 亚洲成av人**亚洲成av**| 欧美日韩精品免费观看视频| 日韩av一区二区三区四区| 91麻豆精品国产91久久久使用方法| 日本视频一区二区三区| 欧美v亚洲v综合ⅴ国产v| 欧美区在线观看| 奇米影视7777精品一区二区| 精品欧美一区二区三区精品久久| 国产一区二区成人久久免费影院| 国产欧美一区二区精品性色超碰| av影院午夜一区| 亚洲综合色区另类av| 欧美精品tushy高清| 久久精品国产成人一区二区三区| 国产丝袜欧美中文另类| 91在线视频免费91| 亚洲第四色夜色| 欧美哺乳videos| 成人毛片视频在线观看| 亚洲激情五月婷婷| 91精品国产一区二区三区蜜臀 | 国产传媒日韩欧美成人| 国产精品剧情在线亚洲| 欧美最猛性xxxxx直播| 亚洲.国产.中文慕字在线| 日韩免费观看高清完整版| 国产激情一区二区三区四区| 亚洲欧美色图小说| 欧美疯狂做受xxxx富婆| 国产美女视频91| 亚洲激情第一区| 欧美一级电影网站| 丁香婷婷综合五月| 一级特黄大欧美久久久| 精品国产露脸精彩对白 | 久久综合狠狠综合久久综合88| 97久久超碰国产精品| 午夜私人影院久久久久| 久久久www成人免费无遮挡大片| 色88888久久久久久影院按摩| 免费高清视频精品| 一区二区三区在线视频免费| 日韩你懂的在线播放| 91看片淫黄大片一级在线观看| 久久 天天综合| 亚洲综合视频在线| 国产亚洲欧美日韩俺去了| 欧美日韩国产电影| 菠萝蜜视频在线观看一区| 青青草国产成人99久久| 综合在线观看色| 精品va天堂亚洲国产| 欧美性大战久久久| www.成人网.com| 国模少妇一区二区三区| 亚洲国产综合91精品麻豆| 中文字幕国产一区二区| 欧美成人三级电影在线| 欧美午夜在线观看| av成人老司机| 国产福利一区在线观看| 日韩中文字幕一区二区三区| 一区二区三区不卡视频在线观看| 久久久精品免费免费| 7777女厕盗摄久久久| 91免费看`日韩一区二区| 国产一区二区电影| 毛片不卡一区二区| 一区二区三区在线免费观看| 日本一区二区三区dvd视频在线 | 石原莉奈一区二区三区在线观看| 国产精品美女www爽爽爽| 久久美女艺术照精彩视频福利播放| 欧美日本视频在线| 欧美日韩亚洲国产综合| 91麻豆国产福利精品| 不卡的av中国片| 成人高清免费观看| 国产成都精品91一区二区三| 国产在线观看一区二区 | 欧美电影免费观看高清完整版在| 在线免费观看日本欧美| 91色综合久久久久婷婷| 成人国产精品免费| a级精品国产片在线观看| 国产成人在线影院| 国内不卡的二区三区中文字幕|