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

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

?? jry9524_63723_asm.htm

?? Cy7c63723的完整固件 cy7c63723和CY7C63001相比
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
;    Sets the resolution. Only 4 resolutions are supported
;
;    On Entry: (A) = resolution factor
;    On Exit: (A) = PS2_ACK if valid resolution factor. 
;             = PS2_RESEND if invalid resolution factor
;
;========================================================================
ps2SetResolution:
    cmp    A, RES1
    jz     validRes                     ; go if 1 count per millimeter (mm)
    cmp    A, RES2
    jz     validRes                     ; go 2 counts/mm
    cmp    A, RES4
    jz     validRes                     ; go if 4 counts/mm
    cmp    A, RES8        
    jz     validRes                     ; go if 8 counts/mm
    mov    A, PS2_RESEND
    ret

validRes:
    mov    [ps2Resolution], A
    mov    A, PS2_ACK
    ret

;========================================================================
; FUNCTION: ps2StatusRequest
;
;    Form a 3-byte status according to IBM Specs
;
;    Byte 1:
;        Bit 7:     Reserved
;            6:     0 = Stream Mode, 1 = Remote Mode
;            5:     0 = Disabled, 1 = Enabled
;            4:     0 = Scaling 1:1, 1 = Scaling 2:1
;            3:     Reserved
;            2:    1 = Left Button Pressed
;            1:    Reserved
;            0:     1 = Right Button Pressed
;    Byte 2:
;        Bits 7-0: Current Resolution Setting
;    Byte 3:
;        Bits 7-0: Current Sampling Rate
;
;========================================================================
ps2StatusRequest:
    mov    A, 00h
    mov    [temp], A
    mov    A, [currentButtonState]
    and    A, RIGHT_BUTTON_MASK
    jnz    sr1                
    mov    A, BIT0                      ; set right button pressed
    or     [temp], A                    ;

sr1:
    mov    A, [currentButtonState]
    and    A, LEFT_BUTTON_MASK
    jnz    sr2            
    mov    A, BIT2                      ; set left button pressed
    or     [temp], A                    ;

sr2:
    mov    A, [ps2Scale]
    cmp    A, SCALE2_1
    jnz    sr3
    mov    A, BIT4                      ; set scaling 2:1
    or     [temp], A                    ;

sr3:
    mov    A, [ps2MouseEnabled]
    cmp    A, 01h
    jnz    sr4
    mov    A, BIT5                      ; set mouse enabled
    or     [temp], A                    ; 

sr4:
    mov    A, [ps2StreamMode]
    cmp    A, 01h
    jz     sr5
    mov    A, BIT6                      ; set remote mode
    or     [temp], A                    ; 

sr5:
    mov    A, [temp]                    ; load packet onto xmit buffer
    mov    [ps2XmitBuffer0], A          ;
    mov    A, [ps2Resolution]           ;
    mov    [ps2XmitBuffer1], A          ;
    mov    A, [ps2ReportRate]           ;
    mov    [ps2XmitBuffer2], A          ;

    mov    A, 03h                       ; indicate 3-byte packet length
    mov    [ps2XmitBufferLen], A        ;
    mov    [ps2XmitLen], A              ;
    ret

;========================================================================
; FUNCTION: ps2SetStreamMode
;
;========================================================================
ps2SetStreamMode:
    mov    A, 01h                       ; turn on stream mode
    mov    [ps2StreamMode], A           ;
    call   ps2ResetMouseReportInterval    
    ret

;========================================================================
; FUNCTION: ps2ReadData
;    Sends a mouse packet back even if there has been no mouse
;    movement since the last report or the switch status is unchanged
;
;========================================================================
ps2ReadData:
    mov    A, EVENT_PENDING             ; force it to send a mouse packet
    mov    [eventMachine], A            ;
    call   loadMousePacket              ; load xmit buffer with mouse packet
    call   ps2ResetMouseReportInterval
    ret

;========================================================================
; FUNCTION: ps2ResetWrapMode
;    Resets the wrap mode. Note that, if stream mode is on, the
;    mouse is disabled when the wrap mode is reset.
;
;========================================================================
ps2ResetWrapMode:
    mov    A, 00h                       ; turn off wrap mode
    mov    [ps2WrapMode], A             ;
    mov    A, [ps2StreamMode]
    cmp    A, 01h                       ; is stream mode on?
    jnz    ps2RWMExit                   ; no - exit
    mov    A, 00h                       ; yes - disable mouse
    mov    [ps2MouseEnabled], A         ; 
                                   
ps2RWMExit:
    ret

;========================================================================
; ps2SetWrapMode
;    Any byte of data sent by the system, except 0ech and 0ffh,
;    is returned by the mouse
;
;========================================================================
ps2SetWrapMode:
    mov    A, 01h                       ; turn on wrap mode
    mov    [ps2WrapMode], A             ;
    ret

;========================================================================
; FUNCTION: ps2SetRemoteMode
;    Data is transmitted only in response to a Read Data command
;
;========================================================================
ps2SetRemoteMode:
    mov    A, 00h                       ; turn off streaming mode
    mov    [ps2StreamMode], A           ;
    ret

;========================================================================
; FUNCTION: ps2ReadDeviceType
;    Returns device ID = 03h if wheel supported, else 0
;
;========================================================================
ps2ReadDeviceType:
    mov    A, [ps2Wheel]
    cmp    A, 01h
    mov    A, 03h                       ; set up for wheel support (ID = 3)
    jz     wheelSupported
    mov    A, 00h                       ; set up for no wheel support (ID = 0)

wheelSupported:
    mov    [ps2XmitBuffer0], A
    mov    A, 01h                       ; indicate one byte for sending
    mov    [ps2XmitBufferLen], A        ;
    mov    [ps2XmitLen], A              ;
    ret
    
;========================================================================
; FUNCTION: ps2SetSampleRate 
;    Sets the sample rate for the mouse
; On entry:
;    A = sample rate
; On exit:
;    A = PS2_RESEND if invalid sample rate
;    A = PS2_ACK if valid sample rate
;
;========================================================================

    XPAGEOFF

ps2ValidRates:
db    10, 20, 40, 60, 80, 100, 200      ; 10, 20, ... reports/sec

ps2ValidIntervals:
db    100, 50, 25, 17, 13, 10, 5        ; 100, 50, ... msec/report

    XPAGEON
    

ps2SetSampleRate:
    mov    X, 07h
    mov    [ps2Temp0], A                ; save sample rate

nextSampleRate:
    dec    X
    jc     endSampleRate                ; go if end of sample rates
    mov    A, X                         ; get valid rate
    index  ps2ValidRates                ;
    cmp    A, [ps2Temp0]                ; does sample rate match?
    jnz    nextSampleRate               ; go if no
    mov    [ps2ReportRate], A           ; save report rate
    mov    A, X                         ; get corresponding interval
    index  ps2ValidIntervals            ;
    mov    [ps2ReportInterval], A       ; and save it
    call   ps2ResetMouseReportInterval
    mov    A, PS2_ACK                   ; indicate valid sample rate 
                                        ; send back ACK byte (PS2 protocol)
    ret

endSampleRate:
    mov    A, PS2_RESEND                ; indicate invalid sample rate
                                        ; request host to resend data
    ret                

;========================================================================
; FUNCTION: ps2EnableMouse
;    Enables the mouse
;
;========================================================================
ps2EnableMouse:
    mov    A, 01h
    mov    [ps2MouseEnabled], A
    ret

;========================================================================
; FUNCTION: ps2DisableMouse
;    Disables the mouse
;
;========================================================================
ps2DisableMouse:
    mov    A, 00h                       ; disable mouse
    mov    [ps2MouseEnabled], A         ;
    ret

;========================================================================
; FUNCTION: ps2SetDefault
;     Set default settings
;
;========================================================================
ps2SetDefault:
    mov    A, 100                       ; 100 reports per second
    mov    [ps2ReportRate], A           ; 
    mov    A, 10                        ; 1 report/10 msec
    mov    [ps2ReportInterval], A       ;
    mov    A, 01h                       ; 1-to-1 scaling
    mov    [ps2Scale], A                ; 
    mov    [ps2StreamMode], A           ; stream mode on
    mov    A, 02h                       ; 4 counts/mm resolution
    mov    [ps2Resolution], A           ; 
    mov    A, 00h                       ; disable mouse
    mov    [ps2MouseEnabled], A         ;
    mov    [ps2Wheel], A                ; wheel off
    mov    [ps2WrapMode], A             ; turn off wrap mode
    ret

;========================================================================
; FUNCTION: ps2Resend
;    Resends the last transmission from the mouse
;
;========================================================================
ps2Resend:
    mov    A, [ps2XmitBufferLen]        ; get message length
    mov    [ps2XmitLen], A              ; update remaining bytes to be sent
    ret
    
;========================================================================
; FUNCTION: ps2Reset
;     Simply waits in a loop and wait for a watchdog reset to occur
;
;========================================================================
ps2Reset:
    mov    A, 00h
    iowr    GLOBAL_INTERRUPT_REG

ps2ResetSelf:
    jmp    ps2ResetSelf
    ret

;********************************************************************
;
;             PS2 Subroutines
;
;********************************************************************
;
;========================================================================
; FUNCTION: ps2ResetMouseReportInterval
;
;    Resets the mouse's report interval to the value last sent
; by the host. The report interval is counted down in the main loop
; to provide a time base for sending mouse data packets.
;
;========================================================================
ps2ResetMouseReportInterval:
    mov    A, [ps2ReportInterval]    
    mov    [ps2IntervalCount], A
    ret

;========================================================================
; FUNCTION: loadMousePacket
;     Load transmit buffer with mouse packet
;
;========================================================================
loadMousePacket:
    ;
    ; Notes: we do not apply scaling and resolution to the (x,y)
    ; coordinates
    ;
    mov    A, [ps2Wheel]
    cmp    A, 01h    
    jz     lmp4Bytes                    ; go if wheel enabled
    mov    A, MOUSE_PACKET_3            ; set up for 3-byte transfer
    mov    [ps2XmitBufferLen], A        ;
    mov    [ps2XmitLen], A              ;
    mov    A, [buttonValue]             ; get button state already in
                                        ; proper IBM format
    and    A, 03h                       ; only keep left & right buttons
    jmp    lmp0

lmp4Bytes:
    mov    A, MOUSE_PACKET_4            ; set up for 4-byte transfer
    mov    [ps2XmitBufferLen], A        ;
    mov    [ps2XmitLen], A              ;

    mov    A, [buttonValue]             ; get button state already in
                                        ; proper IBM format
    and    A, 07h                       ; only keep (L,R,M) bits
    or     A, BIT3                      ; always set to 1

lmp0:
    mov    [temp], A
    mov    A, [xCount]
    and    A, BIT7
    jz     lmp1
    mov    A, BIT4                      ; set X sign bit
    or     [temp], A                    ;

lmp1:
    mov    A, [yCount]
    and    A, BIT7
    jz     lmp2
    mov    A, BIT5                      ; set Y sign bit
    or     [temp], A                    ;    

lmp2:
    mov    A, [temp]                    ; save mouse packet
    mov    [ps2XmitBuffer0], A          ;
    mov    A, [xCount]                  ;
    mov    [ps2XmitBuffer1], A          ;
    mov    A, [yCount]                  ;
    mov    [ps2XmitBuffer2], A          ;
    mov    A, [zCount]                  ;
    cpl    A                            ;
    inc    A                            ;
    mov    [ps2XmitBuffer3], A          ;

    mov    A, 00h                       ; reset (X,Y,Z) coordinates
    mov    [xCount], A                  ;
    mov    [yCount], A                  ;
    mov    [zCount], A                  ;              
    ret

;========================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99久久精品免费看蜜桃 | 亚洲国产精品综合小说图片区| 亚洲午夜免费视频| 国产99久久久国产精品| 91精品一区二区三区在线观看| 国产精品无人区| 精东粉嫩av免费一区二区三区| 在线观看成人免费视频| 国产精品久久久久天堂| 激情文学综合网| 欧美一区二区三区性视频| 亚洲欧美激情在线| 成人av电影在线| 久久精品欧美一区二区三区不卡| 亚洲第一电影网| 91福利精品第一导航| 国产精品欧美经典| 国产精品资源站在线| 欧美大片免费久久精品三p| 丝袜美腿亚洲一区二区图片| 欧美主播一区二区三区| 亚洲欧美成aⅴ人在线观看| k8久久久一区二区三区| 国产日韩高清在线| 国产精品一卡二卡| 久久蜜桃一区二区| 国产精品夜夜嗨| 久久蜜桃香蕉精品一区二区三区| 久久国产精品露脸对白| 精品精品国产高清a毛片牛牛| 人人狠狠综合久久亚洲| 在线播放中文一区| 美女视频一区二区三区| 日韩亚洲欧美中文三级| 美女尤物国产一区| 久久久久久久国产精品影院| 黄色日韩网站视频| 久久午夜色播影院免费高清| 国产一区91精品张津瑜| 国产欧美视频在线观看| 成人精品小蝌蚪| 最近中文字幕一区二区三区| 97精品国产露脸对白| 玉足女爽爽91| 欧美精品18+| 久久av老司机精品网站导航| 国产人成亚洲第一网站在线播放| 国产伦精品一区二区三区免费迷| 久久久久久一级片| 94-欧美-setu| 亚洲第一搞黄网站| 久久欧美一区二区| 99精品偷自拍| 午夜视黄欧洲亚洲| 欧美sm极限捆绑bd| 成人爽a毛片一区二区免费| 中文字幕中文在线不卡住| 色偷偷成人一区二区三区91| 亚洲chinese男男1069| 欧美va亚洲va| 91免费观看在线| 肉色丝袜一区二区| 国产欧美日韩精品a在线观看| 91麻豆6部合集magnet| 裸体健美xxxx欧美裸体表演| 国产色一区二区| 欧美日韩高清在线| 国产高清一区日本| 亚洲一区二区三区精品在线| 2020国产精品自拍| 在线亚洲一区二区| 国产一区二区精品久久91| 亚洲综合小说图片| www国产亚洲精品久久麻豆| 99r国产精品| 老司机免费视频一区二区三区| 欧美国产激情一区二区三区蜜月| 欧美亚一区二区| 国产馆精品极品| 午夜精品久久久| 国产精品人成在线观看免费 | 秋霞午夜av一区二区三区| 久久久天堂av| 欧美伊人精品成人久久综合97| 国产在线精品免费| 日韩黄色小视频| **欧美大码日韩| 久久综合色鬼综合色| 欧美日韩日日摸| 成人污污视频在线观看| 美女性感视频久久| 亚洲蜜桃精久久久久久久| 久久久精品2019中文字幕之3| 在线视频一区二区三| 成人黄色软件下载| 国产成人综合在线| 琪琪一区二区三区| 一区二区三区在线高清| 中文在线资源观看网站视频免费不卡| 欧美高清视频一二三区 | 91在线视频网址| 国产做a爰片久久毛片| 午夜精品久久久久久久99樱桃| 自拍视频在线观看一区二区| 欧美国产欧美综合| 国产日韩影视精品| www久久精品| 欧美精品一区二区三区在线| 日韩一级二级三级| 欧美电视剧在线看免费| 日韩一区二区视频| 日韩午夜电影在线观看| 欧美丰满嫩嫩电影| 欧美精品在线视频| 欧美精品99久久久**| 欧美日韩精品专区| 欧美色欧美亚洲另类二区| 欧美午夜寂寞影院| 欧美一区二区成人6969| 日韩一区二区麻豆国产| 日韩精品一区二区三区在线观看 | 欧美精品一区二区三区在线播放| 91精品欧美久久久久久动漫| 欧美一区二区三区四区高清| 5566中文字幕一区二区电影| 欧美日韩三级视频| 精品欧美久久久| 欧美激情艳妇裸体舞| 国产精品乱子久久久久| 亚洲人成影院在线观看| 亚洲国产欧美在线| 日韩精品一二三区| 激情六月婷婷久久| 国产福利一区二区| 一本一道综合狠狠老| 欧美日韩一二三区| 日韩精品一区二区三区在线观看| www亚洲一区| 亚洲欧洲一区二区在线播放| 亚洲影视资源网| 九九久久精品视频| 91网站视频在线观看| 欧美精品一二三| 久久久久国产成人精品亚洲午夜| 国产精品入口麻豆原神| 午夜免费欧美电影| 国产精品99久久久久久久女警 | 在线综合亚洲欧美在线视频| 欧美xfplay| 亚洲乱码国产乱码精品精98午夜| 五月天中文字幕一区二区| 国产成人亚洲综合色影视 | 成人中文字幕在线| 在线亚洲人成电影网站色www| 91精品国产综合久久精品麻豆| 国产欧美中文在线| 一区二区三区不卡视频在线观看 | 国产凹凸在线观看一区二区| 在线观看日韩毛片| wwwwww.欧美系列| 亚洲综合视频在线| 丰满岳乱妇一区二区三区| 欧美美女直播网站| 国产精品免费丝袜| 美洲天堂一区二卡三卡四卡视频| 色综合视频在线观看| 久久人人97超碰com| 亚洲国产精品天堂| 福利电影一区二区| 精品日韩欧美一区二区| 亚洲成人动漫在线免费观看| 国产成人精品影视| 26uuu精品一区二区在线观看| 国产视频一区不卡| 精品系列免费在线观看| eeuss鲁片一区二区三区在线观看| 蜜臀av亚洲一区中文字幕| 91一区二区三区在线播放| 国产欧美一区二区精品性色| 国内外成人在线| 欧美一二三区在线| 麻豆精品视频在线观看免费| 日韩一区二区精品葵司在线| 一区二区三区在线观看网站| 五月天久久比比资源色| 欧美性一区二区| 日产欧产美韩系列久久99| 久久久久久久久久久久久夜| 美女视频黄a大片欧美| 色www精品视频在线观看| 国产精品你懂的| 成人激情图片网| 国产精品久久久久久亚洲毛片 | 91精品国产综合久久婷婷香蕉 | 亚洲精品视频自拍| 91视频免费看| 综合色中文字幕| 99re66热这里只有精品3直播| 国产精品久久一卡二卡| 成人福利电影精品一区二区在线观看|