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

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

?? usbsmps2.asm

?? Cypress 的(鼠標+鍵盤)復合設備匯編源程序
?? ASM
字號:
        CPU 63413
label:          XPAGEON

;========================================================================
;   FILE: usp2mps2.asm
;
;   This file includes all the files necessary to build a
;   dual interface keyboard executable with slave mouse support in usb mode.
;========================================================================

;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

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

.exit:
;    iowr    WATCHDOG_REG            ;clear watchdog
    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 usb code, else
    jmp      ps2main                        ;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     30h

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

; all code which resides in lower 4k now.

include "usbmain.asm"
include "kbm_desc.asm"
include "kbm_task.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 "util.asm"
include "keyscan.asm"
include "matrix.asm"
;include "scnmatx.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 "kb_mouse.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
AAK_RAM_MOUSE_START:    equ     mouse_RAM_baseC
AAL_RAM_MOUSEKSC_END:   equ     mouse_RAM_baseC + mouse_ramsizeC - 1




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲综合网| 一区二区三区欧美视频| 亚洲毛片av在线| 六月丁香综合在线视频| 91啪在线观看| wwww国产精品欧美| 日韩福利视频网| 91免费国产视频网站| 久久九九久久九九| 日韩黄色在线观看| 91久久精品日日躁夜夜躁欧美| 精品国产一区二区三区不卡 | 五月天一区二区三区| 国产69精品久久久久777| 日韩欧美激情一区| 亚洲成a人v欧美综合天堂下载| 成人av网站在线| 久久久99精品免费观看不卡| 人人爽香蕉精品| 91.com视频| 一区二区三区国产精品| 99久久久精品| 亚洲日本一区二区三区| 成人午夜又粗又硬又大| 久久精品水蜜桃av综合天堂| 蜜桃av噜噜一区二区三区小说| 在线成人免费观看| 亚洲国产综合91精品麻豆| 99精品在线免费| 日韩毛片一二三区| 99re8在线精品视频免费播放| 国产精品久久久久毛片软件| thepron国产精品| 国产精品久久久久久一区二区三区 | 一区二区三区日本| 色综合天天性综合| 综合网在线视频| 91在线无精精品入口| 自拍偷拍欧美精品| 色综合久久九月婷婷色综合| 亚洲精品免费一二三区| 欧美丝袜丝交足nylons| 五月综合激情网| 日韩精品一区二区在线| 紧缚捆绑精品一区二区| xf在线a精品一区二区视频网站| 白白色 亚洲乱淫| 亚洲天堂网中文字| 色域天天综合网| 亚洲国产成人高清精品| 欧美精品乱码久久久久久按摩| 日本成人在线视频网站| 久久婷婷国产综合精品青草| av电影在线观看不卡| 亚洲国产精品久久不卡毛片| 精品国产一区二区在线观看| 不卡av电影在线播放| 亚洲一区二区三区自拍| 777午夜精品免费视频| 国产做a爰片久久毛片| 亚洲视频一区二区在线| 欧美美女bb生活片| 国产成人在线视频免费播放| 亚洲黄色免费网站| 欧美一级精品大片| 成人免费av在线| 日韩精品国产欧美| 欧美经典一区二区| 欧美日韩电影一区| 国产精品自拍三区| 91在线精品一区二区三区| 91麻豆精品视频| 国产欧美1区2区3区| 高清免费成人av| a在线播放不卡| 紧缚奴在线一区二区三区| 欧美国产日本视频| 欧美日韩精品一区二区三区| 国产乱国产乱300精品| 一区二区三区毛片| 精品精品国产高清a毛片牛牛| 91同城在线观看| 老司机精品视频一区二区三区| 亚洲男人的天堂av| 久久久高清一区二区三区| 91高清在线观看| 国产传媒欧美日韩成人| 日本v片在线高清不卡在线观看| 国产精品久久久久久亚洲毛片| 日韩欧美亚洲国产精品字幕久久久 | 国产精品二三区| 欧美电影免费观看高清完整版在线 | 老司机免费视频一区二区三区| 亚洲丝袜精品丝袜在线| 久久蜜桃一区二区| 日韩精品综合一本久道在线视频| 在线亚洲一区观看| 99久久精品费精品国产一区二区| 激情五月婷婷综合| 男女性色大片免费观看一区二区 | 91麻豆精品国产自产在线 | 久久精品欧美日韩| 91麻豆精品91久久久久久清纯| 色天使色偷偷av一区二区| 成人免费视频视频在线观看免费| 精品在线观看视频| 麻豆久久一区二区| 日本午夜精品一区二区三区电影| 亚洲福利一二三区| 亚洲国产精品久久人人爱| 亚洲三级在线看| 一区二区三区日韩欧美| 亚洲欧美激情在线| 国产精品视频免费看| 亚洲国产高清不卡| 国产亚洲一二三区| 久久日一线二线三线suv| 欧美成人高清电影在线| 欧美一区二区三区四区视频| 欧美日韩成人一区二区| 欧美日韩一区二区三区四区 | 日韩色在线观看| 日韩欧美国产精品一区| 日韩精品一区二区三区在线观看 | 九九热在线视频观看这里只有精品| 日本系列欧美系列| 成人v精品蜜桃久久一区| 岛国精品在线播放| 99久久婷婷国产综合精品| 99精品国产99久久久久久白柏| 91热门视频在线观看| 欧美视频一二三区| 欧美变态tickling挠脚心| 久久久久久久久久久久电影| 日本一区二区三区在线观看| 亚洲视频在线一区观看| 亚洲高清视频中文字幕| 麻豆免费精品视频| 成人黄色在线看| 欧美综合色免费| 欧美一区二区精品久久911| 久久综合九色综合久久久精品综合| 久久综合色婷婷| 自拍av一区二区三区| 午夜精品福利一区二区蜜股av| 免费成人在线播放| 高清shemale亚洲人妖| 色婷婷久久久久swag精品 | 日本久久精品电影| 91精品午夜视频| 国产精品天天看| 亚洲国产毛片aaaaa无费看| 精品一区二区三区日韩| www..com久久爱| 日韩美女一区二区三区| 亚洲人成在线播放网站岛国| 日韩不卡一二三区| 国产成人啪午夜精品网站男同| 在线精品视频小说1| 精品国产欧美一区二区| 亚洲综合色网站| 国产一级精品在线| 欧美日韩aaaaa| 国产精品久久久久桃色tv| 日本三级亚洲精品| 94-欧美-setu| 久久精品亚洲一区二区三区浴池| 亚洲精品久久久久久国产精华液| 精品一区免费av| 欧美日韩一区二区三区高清 | 精品国产一区久久| 亚洲一区二区黄色| 丰满少妇久久久久久久| 欧美成人女星排行榜| 一区二区三区日本| caoporen国产精品视频| 久久久99免费| 久久国产欧美日韩精品| 欧美日韩精品福利| 亚洲色图视频网| 岛国精品在线观看| 久久久久久99精品| 黄一区二区三区| 欧美一级日韩不卡播放免费| 亚洲一级二级三级| 99久久精品一区| 中文字幕日韩一区二区| 国产成人综合在线观看| 精品美女一区二区| 美女高潮久久久| 日韩精品一区国产麻豆| 日本女优在线视频一区二区| 欧美高清视频不卡网| 亚洲一级二级在线| 欧美自拍偷拍一区| 亚洲激情五月婷婷| 97精品国产露脸对白| 亚洲色图欧美偷拍| 91在线精品秘密一区二区| 亚洲素人一区二区|