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

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

?? usbps2.asm

?? Cypress 的(鼠標(biāo)+鍵盤)復(fù)合設(shè)備匯編源程序
?? ASM
字號(hào):
        CPU 63413
label:          XPAGEON

;========================================================================
;   FILE: usbps2.asm 
;
;   This file includes all the files necessary to build a dual interface 
;   (usb and ps2) keyboard
;   executable.  
;
;========================================================================


;include all "inc" files used by the code

    include "regs.inc"
    include "usb.inc"
    include "ps2.inc"
    include "macros.inc"
    include "at101.inc"
    include "portdef.inc"




PS2_KEYBOARD:   equ 0               
USB_KEYBOARD:   equ 1

;we need to use the endpoint 2 normally used for the mouse, to report
;power key usages. So, the following equate will enable endpoint 2 interrupts
;even though we are not using mouse code.
EP_INTERRUPTS: equ KEYBOARD_PLUS_MOUSE
;========================================================================
;  interrupt vector table -- must be located here
;========================================================================

    ORG     00h

    jmp     sys_reset               ; reset vector

    jmp     USB_Bus_Reset_ISR       ; USB bus reset

    jmp     illegal_int             ; 128us interrupt

    jmp    dual_ifc_1ms_ISR           ; 1.024ms interrupt

    jmp     USB_EP0_ISR             ; endpoint 0 interrupt

    jmp     USB_EP1_ISR             ; endpoint 1 interrupt

	jmp	USB_EP2_ISR			; endpoint 2 interrupt

    jmp     illegal_int             ; reserved interrupt

    jmp     illegal_int             ; reserved interrupt

    jmp     illegal_int             ; reserved interrupt

    jmp     DAC_ISR                 ; DAC interrupt

    jmp     GPIO_ISR                ; GPIO interrupt

    jmp     illegal_int             ; reserved interrupt

;========================================================================
;
;   FUNCTION: dual_ifc_1ms_ISR
;
;   purpose:    
;   provides the entry point for the 1 millisecond tick.
;   This ISR entry point jumps to the USB 1msec ISR if a usb keyboard
;   is connected.  Otherwise, it performs the necessary ps2-specific
;   functions and returns.
;
;
;========================================================================
dual_ifc_1ms_ISR:
    ei                              ;allow nesting
    push    A                       ;save A
    mov     A,[dual_ifc_keyboard]      ;check keyboard type
    cmp     A,PS2_KEYBOARD          ;if USB
    jnz     One_mSec_ISR            ;go direct to USB ISR
    inc    [dual_ifc_1ms]              ;otherwise increment 1msec counter
    pop    a                        ;restore A reg
    reti                            ;return from interrupt

;========================================================================
;
;   FUNCTION: sys_reset
;
;   purpose:    
;   reset entry point for code
;
;
;========================================================================


illegal_int:
sys_reset:
    di                                        ;disable interrupts   
    mov       A,0ffh 
    iowr      PORT3_DATA_REG
    mov        A,NORMAL                        ;configure GPIO reg
    iowr     GPIO_CONFIG_REG



    mov     a,0                             ;set psp stack to 0
    mov     psp,a                           ; 
    mov     a,0ffh                          ;set dsp stack to 0xff
    swap    a,dsp                           ;now we can call functions

    mov     A,0                             ;zero endpoint interrupt reg
    iowr    ENDPOINT_INTERRUPT_REG            
    mov     [dual_ifc_keyboard],A              ;set type to ps2 initially
   
    call    get_keyboard_type               ;get the keyboard type
    mov     [dual_ifc_keyboard],A              ;save it
    mov     A,[dual_ifc_keyboard]              ;get it again
    cmp     A,PS2_KEYBOARD                  ;if USB                             
    jnz      Reset                          ;go to  code usb
    jmp      ps2main                        ;else straight to ps2

.bummer:
    jmp     .bummer                          ;loop if we ever get here


; the dsp will remain at 0 for both ps2 and usb. Allow 30h bytes for it.

dsp_stack_size:                 equ     30h

; the psp will start at 0xff for ps2 and 0xe0 for usb (to avoid the
; USB queues)

psp_stack_size:                 equ     20h

ram_base:                       equ     psp_stack_size  ;application ram start
dual_ifc_keyboard:              equ     ram_base        ;keyboard type
dual_ifc_1ms:                   equ     ram_base+1      ;1msec counter
usbmain_ram_base:               equ     ram_base+2      ;start of usb main ram
ps2main_ram_base:               equ     ram_base+2      ;and ps2 ram also

;include all code which resides in lower 4k now.

include "usbmain.asm"

;use the descriptor file that includes a description of the 2nd endpoint,
;which we'll need here because we're using the 2nd endpoint to report power
;key usage codes.

include "kbm_desc.asm"
include "ps2main.asm"



;include all code which resides in upper 4k now. This code consists entirely
;of subroutines which are called from the lower 4k code.
ORG 1000h
include "ps2_io.asm"

;load ps2key and usbkey, the modules which handle keypresses in the
;two keyboard environments.
;
;

usbkey_ram_base:            equ     (usbmain_ram_base + USBMAIN_RAM_SIZE)
include    "usbkey.asm"
ps2key_ram_base:            equ     (ps2main_ram_base + PS2MAIN_RAM_SIZE)
include    "ps2key.asm"
                                                                                              
;note: usb_ram_end MUST compute to less than 0x70h (see note below).
usb_ram_end:                equ     (usbkey_ram_base + USBKEY_RAM_SIZE)
ps2_ram_end:                equ     (ps2key_ram_base + PS2KEY_RAM_SIZE)

;
;due to a restriction on the USB code, we cannot use RAM from 070h to 07fh.
;locate the ram used by keyscan.asm at 080h to avoid this region.
;

ksc_ram_base:               equ     080h
include "keyscan.asm"
include "util.asm"
include "matrix.asm"
;locate mouse RAM after ksc RAM, and include mouse code in upper 4k.
mouse_RAM_baseC:	equ	(ksc_ram_base + KSC_RAM_SIZE)
include "kbm_stub.asm"



;define some constants which are not used but will show up in the
;listing file in a contiguous block so that we can easily examine the
;ram usage for the project in the listing file.

AAA_RAM_PS2_START:      equ     ps2main_ram_base
AAB_RAM_PS2_END:        equ     ps2main_ram_base + PS2MAIN_RAM_SIZE- 1
AAC_RAM_PS2_START:      equ     ps2key_ram_base
AAD_RAM_PS2_2END:       equ     ps2key_ram_base + PS2KEY_RAM_SIZE - 1

AAE_RAM_USB_START:      equ     usbmain_ram_base
AAF_RAM_USB_END:        equ     usbmain_ram_base + USBMAIN_RAM_SIZE- 1
AAG_RAM_USB_START:      equ     usbkey_ram_base
AAH_RAM_USB_END:        equ     usbkey_ram_base + USBKEY_RAM_SIZE - 1

AAI_RAM_KSC_START:      equ     ksc_ram_base
AAJ_RAM_KSC_END:        equ     ksc_ram_base + KSC_RAM_SIZE - 1



?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品三区| 美女视频一区二区三区| 天堂久久一区二区三区| 国产伦精品一区二区三区免费| 色呦呦网站一区| 国产日韩视频一区二区三区| 国产精品中文有码| 欧美影院午夜播放| 亚洲视频一二区| 国产毛片一区二区| 日韩免费观看高清完整版| 一区二区在线电影| 成人精品国产福利| 久久久久88色偷偷免费| 丝袜国产日韩另类美女| 欧美影院精品一区| 亚洲日穴在线视频| 99国产精品视频免费观看| 国产亚洲一二三区| 蜜桃精品视频在线观看| 欧美色图天堂网| 亚洲精品国产一区二区三区四区在线| 国产精品一区二区在线看| 日韩欧美一级特黄在线播放| 午夜久久久影院| 欧美亚洲国产一区二区三区| 亚洲图片欧美激情| 91免费视频网址| 亚洲欧洲国产日本综合| 丰满放荡岳乱妇91ww| 国产日韩欧美麻豆| 懂色一区二区三区免费观看| 精品成人a区在线观看| 免费精品99久久国产综合精品| 欧美日韩一区二区在线观看视频 | 一区二区三区在线看| 成人av在线资源网| 亚洲欧洲国产专区| 日韩一区二区三区电影在线观看| 亚洲国产精品久久艾草纯爱 | 国产在线精品一区二区不卡了| 欧美一区二区三区视频免费播放 | 亚洲六月丁香色婷婷综合久久| 成人小视频免费在线观看| 欧美国产精品一区二区三区| 99视频精品免费视频| 亚洲色图一区二区| 欧美日韩在线综合| 美女性感视频久久| 中文字幕不卡在线观看| 91理论电影在线观看| 亚洲高清免费观看高清完整版在线观看| 91女厕偷拍女厕偷拍高清| 一区二区三区91| 欧美精选一区二区| 激情五月激情综合网| 国产精品网站导航| 欧美日韩综合在线| 蓝色福利精品导航| 国产免费成人在线视频| 91丨porny丨中文| 午夜精品久久久久| 国产视频一区二区三区在线观看| 91免费在线播放| 蜜臀va亚洲va欧美va天堂| 亚洲国产高清aⅴ视频| 在线精品视频免费观看| 久久精品国产久精国产| 18成人在线视频| 日韩欧美激情一区| 91麻豆国产福利在线观看| 青娱乐精品视频| 亚洲欧美日韩一区二区| 欧美一级一区二区| 欧洲生活片亚洲生活在线观看| 男男视频亚洲欧美| 一区二区欧美国产| 国产欧美日韩三级| 7777精品伊人久久久大香线蕉的 | 在线视频国内自拍亚洲视频| 色狠狠一区二区三区香蕉| 日本少妇一区二区| 综合欧美一区二区三区| 欧美tk—视频vk| 欧美三级韩国三级日本三斤 | 国产精品视频第一区| 欧美日韩一区二区三区在线| 国产夫妻精品视频| 日本中文字幕一区二区视频| 亚洲欧洲国产日韩| 国产欧美日韩麻豆91| 日韩欧美卡一卡二| 在线免费不卡电影| 99精品视频中文字幕| 国产一区二区在线免费观看| 午夜精品久久久久久| 亚洲精品亚洲人成人网在线播放| 久久精品亚洲精品国产欧美 | 国产美女精品人人做人人爽 | 亚洲第一二三四区| 1024成人网| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 91美女片黄在线观看| 国产精品一区二区x88av| 麻豆国产欧美日韩综合精品二区| 亚洲综合色噜噜狠狠| 亚洲色图欧洲色图婷婷| 日韩精品国产欧美| 亚洲精品国久久99热| 亚洲婷婷综合色高清在线| 国产女同性恋一区二区| 精品少妇一区二区三区在线播放| 欧美日韩国产色站一区二区三区| 91麻豆国产精品久久| 色狠狠一区二区三区香蕉| 91成人国产精品| 在线观看www91| 欧美在线|欧美| 欧美亚洲自拍偷拍| 欧美日韩视频在线第一区| 欧美亚洲动漫精品| 欧美做爰猛烈大尺度电影无法无天| 91老师片黄在线观看| 一本大道av一区二区在线播放| 91在线观看污| 欧美综合色免费| 欧美人体做爰大胆视频| 欧美一级欧美三级| 久久综合色一综合色88| 国产精品嫩草99a| 亚洲视频一区在线观看| 亚洲已满18点击进入久久| 亚洲成人三级小说| 免费欧美日韩国产三级电影| 久久国产生活片100| 国产成人免费av在线| 91麻豆福利精品推荐| 在线不卡中文字幕播放| 91精品国产高清一区二区三区蜜臀| 精品久久久久久亚洲综合网| 久久新电视剧免费观看| 综合激情网...| 石原莉奈在线亚洲三区| 国产一区二区伦理片| 一本一本大道香蕉久在线精品| 在线观看日韩一区| 欧美va亚洲va国产综合| 日韩一区中文字幕| 日本美女视频一区二区| 成人综合婷婷国产精品久久蜜臀 | 国产亚洲欧美日韩在线一区| 亚洲欧美日韩小说| 美国欧美日韩国产在线播放| 成+人+亚洲+综合天堂| 777欧美精品| 中文字幕av一区二区三区免费看| 亚洲一区在线观看网站| 欧美午夜片在线观看| 欧美成人精品二区三区99精品| 最近中文字幕一区二区三区| 男人的天堂久久精品| 色女孩综合影院| www精品美女久久久tv| 亚洲综合色视频| 国产不卡视频在线播放| 欧美精品三级日韩久久| 亚洲视频在线观看三级| 国产精品自在欧美一区| 欧美日韩中文精品| 国产精品国产三级国产| 麻豆免费看一区二区三区| 欧美在线色视频| 欧美国产成人精品| 蜜桃91丨九色丨蝌蚪91桃色| 成人免费毛片高清视频| 日韩久久久久久| 午夜电影一区二区| 色欧美乱欧美15图片| 国产欧美一区二区三区沐欲| 免费精品视频在线| 91精品国产综合久久久久久漫画 | 男女男精品视频网| 欧美亚洲国产一区二区三区 | 国产精品久久久久久久第一福利 | 亚洲一区在线电影| proumb性欧美在线观看| 国产三区在线成人av| 国精产品一区一区三区mba桃花| 欧美久久一二区| 亚洲电影中文字幕在线观看| 成人深夜视频在线观看| 久久久久久99精品| 国产乱码精品一品二品| 欧美一区二区成人6969| 日本不卡视频在线观看| 91精品国产综合久久久蜜臀图片| 香港成人在线视频| 欧美日韩电影在线播放| 香港成人在线视频| 欧美一区二区三区男人的天堂|