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

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

?? usbps2.lst

?? Cypress 的(鼠標+鍵盤)復合設備匯編源程序
?? LST
?? 第 1 頁 / 共 5 頁
字號:
0049            ;------------------------------------------------------------------------
0049            ; To support the USB specification.
0049            remote_wakeup_status:   equ  usbmain_ram_base 
0049                                                                                                                                    ; remote wakeup request
0049                                                                                                                                    ; zero is disabled
0049                                                                                                                                    ; two is enabled
0049            configuration_status:   equ  (usbmain_ram_base+1)
0049                                                                                                                                    ; configuration status
0049                                                                                                                                    ; zero is unconfigured
0049                                                                                                                                    ; one is configured
0049            ep1_stall_status:               equ  (usbmain_ram_base+2)                           ; zero is not stalled
0049            ep2_stall_status:               equ  (usbmain_ram_base+3)                                                                                                                       ; one is stalled
0049            
0049            protocol_status:                equ  (usbmain_ram_base+4)                       ; zero is boot protocol
0049                                                                    ; one is report protocol
0049            ; support SetIdle and GetIdle
0049            kbd_idle_period:                equ  (usbmain_ram_base+5)                       ; keyboard idle period
0049            kbd_idle_period_ctr:    equ  (usbmain_ram_base+6)                       ; keyboard idle period
0049            mouse_idle_period:      equ  (usbmain_ram_base+7)                ; mouse idle period
0049            mouse_idle_period_ctr:  equ  (usbmain_ram_base+8)                ; mouse idle period
0049            consumer_idle_period:   equ  (usbmain_ram_base+9)                       ; consumer keys idle period
0049            consumer_idle_period_ctr:equ  (usbmain_ram_base+10)                     ; consumer keys idle period
0049            power_idle_period:              equ  (usbmain_ram_base+11)                      ; power idle period
0049            power_idle_period_ctr:  equ  (usbmain_ram_base+12)                      ; power idle period
0049            
0049            1ms_counter:            equ  (usbmain_ram_base+13)                      ; 4ms counter
0049            data_start:             equ  (usbmain_ram_base+14)                      ; points to start of descriptor
0049            data_count:             equ  (usbmain_ram_base+15)                      ; current length of descriptor
0049            byte_count:             equ  (usbmain_ram_base+16)                      ; current size of transmission
0049            temp:                   equ  (usbmain_ram_base+17)
0049            
0049            ;--------------------------------------------------------------------------
0049            suspend_counter:        equ  (usbmain_ram_base+18)                      ; contains number of idle bus msecs
0049            
0049            
0049            ;------------------------------------------------------------------------
0049            ; application support
0049            ;------------------------------------------------------------------------
0049            
0049            
0049            page:                                   equ  (usbmain_ram_base+19)                      ; page location of descriptor(RAM,
0049                                                                                                                                    ; ROM page 1, ROM page 2
0049            EP0_mode_shadow:        equ  (usbmain_ram_base+20)                      ; variable to store ep0 mode
0049                                                                                                                                    ; used by set_ep0_mode
0049            
0049            ps2_tmp:                                equ  (usbmain_ram_base+21)                      ; temporary variable for port 3 write by PS/2
0049            background_flags:               equ  (usbmain_ram_base+22)                      ; signal flags for background 
0049            usb_leds:                   equ  (usbmain_ram_base+23)                  ; overcurrent debounce counter
0049            last_key_report:        equ  (usbmain_ram_base+24)
0049            EP0_fifo_shadow:        equ  (usbmain_ram_base+25)
0049            EP_A0_counter_shadow:   equ  (usbmain_ram_base+26)
0049            EP0_Next_Mode:          equ  (usbmain_ram_base+27)
0049            EP0_FLAG:               equ  (usbmain_ram_base+28)
0049            USBMAIN_RAM_SIZE:               equ  29
0049             
0049            SUSPEND_FLAG:                           equ 1
0049            SCAN_FLAG:                                      equ 2
0049            ;========================================================================
0049            ;                       program listing
0049            ;======================================================================== 
0049            
0049            
0049            ;========================================================================
0049            ; The 128 uSec interrupt is not used by the keyboard code.  The keyboard
0049            ; only does not require the DAC or GPIO port in this version of
0049            ; firmware.  It may be necessary to enable GPIO interrupts when the
0049            ; keyboard enters a power down suspend mode.
0049            DoNothing_ISR:
0049 73    [08]         reti                    ; return from interrupt
004A            
004A            ;========================================================================
004A            ; Suspend
004A            ;
004A            ; This routine is invoked from the main loop when bus activity has ceased for
004A            ; 3 msec or more. This routine prepares the keyboard for suspension, suspends
004A            ; the part, and restores the keyboard upon a subsequent resume.
004A            ;========================================================================
004A            ; Suspend
004A            ;
004A            ; This routine is invoked from the main loop when bus activity has ceased for
004A            ; 3 msec or more. This routine prepares the keyboard for suspension, suspends
004A            ; the part, and restores the keyboard upon a subsequent resume.
004A            
004A            Suspend:
004A            
004A 2D    [05]         push A
004B                                                            ; (since all pins are guaranteed to not float)
004B            
004B 5B 84 [10]         call mouse_suspend              ; put PS/2 mouse in stream mode
004D 70    [08]         di                                      ; disable interrupts
004E 19 FF [04]         mov A, RESISTIVE_NEG          ; all ports resistive neg so that
0050 2A 08 [05]         iowr GPIO_Config              ; we stay within suspend current budget (500uA)
0052 19 00 [04]         mov A, 0                      ; pull down the column lines
0054 2A 00 [05]         iowr Port0_Data
0056 2A 01 [05]         iowr Port1_Data
0058 1A 88 [06]         mov A, [ksc_p3out]
005A 0D 07 [04]         or A, P3_LED_MASK             ; turn LEDs off
005C 10 3F [04]         and A, ~P3_KEY_MASK             ; don't touch bit 6 & 7 (PS/2 mouse interface)
005E 2A 03 [05]         iowr Port3_Data                 
0060 19 FF [04]         mov A, FFh
0062 2A 06 [05]         iowr Port2_Interrupt            ; enable port 2 GPIO interrupt for keyboard
0064 19 20 [04]         mov A, GPIO_ONLY_MASK         ; enable GPIO interrupt only
0066 2A 20 [05]         iowr Global_Interrupt
0068 1A 22 [06]         mov A, [remote_wakeup_status] ; is remote wakeup feature enabled?
006A 16 02 [04]         cmp A, ENABLE_REMOTE_WAKEUP
006C B0 6F [05]         jnz  Suspend_controller
006E 72    [08]         ei
006F            Suspend_controller:
006F            
006F 29 FF [05]         iord Status_Control           ; set the suspend bit causing suspend
0071 0D 08 [04]         or A, 08h
0073 2A FF [05]         iowr Status_Control           ; we are suspended here
0075            
0075            ; resume !!!!!!                                 
0075 20    [04]         nop                           ; execute a nop after resuming
0076                
0076 70    [08]         di
0077 2A 26 [05]     iowr Watchdog
0079 29 1F [05]         iord USB_Status_Control         ; check if there is no bus activity
007B 10 08 [04]         and A, 08h
007D 16 00 [04]         cmp A, 00h
007F B0 B1 [05]         jnz GPIO_disable_interrupts   ; if there is bus activity, 
0081                                                            ; disable interrupts and exit
0081            
0081            
0081 19 04 [04]         mov A, TIMER_ONLY_MASK          ; enable 1ms interrupt
0083 2A 20 [05]         iowr Global_Interrupt
0085 72    [08]         ei
0086 1A 2F [06]         mov A, [1ms_counter]            ; clear wakeup counter
0088 01 05 [04]         add A,5
008A            
008A            wakeup_delay:                           ; wait 5ms before we send the wakeup signal
008A 2A 26 [05]     iowr Watchdog
008C 17 2F [06]         cmp A, [1ms_counter]
008E B0 8A [05]         jnz wakeup_delay
0090            
0090 70    [08]         di                                      ; disable interrupts
0091            
0091 29 1F [05]         iord USB_Status_Control         ; check again if there is no bus activity
0093 10 08 [04]         and A, 08h                              ; after 5ms
0095 16 00 [04]         cmp A, 00h
0097 B0 B1 [05]         jnz GPIO_disable_interrupts   ; if there is bus activity, 
0099                                                            ; disable interrupts and exit
0099            
0099            
0099 19 02 [04]         mov A, FORCE_J                ; force J state to correct cross-over voltage
009B 2A 1F [05]         iowr USB_Status_Control       ; problem during resume signalling
009D            
009D 19 01 [04]         mov A, FORCE_K                  ; start sending resume signal
009F 2A 1F [05]         iowr USB_Status_Control
00A1            
00A1 72    [08]         ei                                      ; enable 1ms interrupt again
00A2 1A 2F [06]         mov A, [1ms_counter]            ; clear wakeup counter
00A4 01 0A [04]     add A,0ah
00A6            
00A6            wakeup_duration:                                ; send resume signal for 10ms
00A6 2A 26 [05]     iowr Watchdog
00A8 17 2F [06]         cmp A, [1ms_counter]
00AA B0 A6 [05]         jnz wakeup_duration
00AC            
00AC 70    [08]         di                                      ; disable interrupts
00AD            
00AD 19 00 [04]         mov A, NOT_FORCING              ; let SIE control D+/D-
00AF 2A 1F [05]         iowr USB_Status_Control         
00B1            
00B1            
00B1            GPIO_disable_interrupts:                ;
00B1                                                            ;interrupts are off when we get here
00B1 29 1F [05]         iord USB_Status_Control
00B3 10 F7 [04]         and A, F7h                              ; clear Bus Activity bit
00B5 2A 1F [05]         iowr USB_Status_Control
00B7            
00B7 19 00 [04]         mov A, 0
00B9 2A 06 [05]         iowr Port2_Interrupt            ; disable GPIO interrupt for keyboard
00BB            
00BB 19 25 [04]         mov A, GPIO_TIMER_RESET_MASK  ; enable GPIO and 1ms interrupts
00BD 2A 20 [05]         iowr Global_Interrupt
00BF            
00BF            
00BF 72    [08]         ei
00C0 5B 84 [10]         call mouse_resume                       ; put PS/2 mouse into polling mode
00C2 70    [08]         di  
00C3            Skip_suspend:
00C3 19 F5 [04]         mov A, NORMAL                 ; restore original GPIO configuration
00C5 2A 08 [05]         iowr GPIO_Config                        
00C7 19 00 [04]       mov A,0
00C9 31 34 [05]       mov [suspend_counter],A
00CB 5A 4D [10]         call ksc_restore_ports            ; restore column ports to pre-suspend values
00CD 72    [08]     ei
00CE 2B    [04]     pop A
00CF 3F    [08]     ret
00D0            
00D0            
00D0            
00D0            check_activity:
00D0            
00D0 29 1F [05]         iord    USB_Status_Control                  ; check if there is  bus activity
00D2 10 08 [04]         and     A, 08h
00D4 3F    [08]     ret
00D5            
00D5            ;========================================================================
00D5            ; The 1 msec interrupt is used to clear the watchdog timer, to maintain
00D5            ; all timers with a 1msec granularity
00D5            ;========================================================================
00D5            
00D5            One_mSec_ISR:
00D5 23 2F [07]     inc         [1ms_counter]                               ;increment 1msec timer
00D7 1A 2F [06]     mov         A,[1ms_counter]
00D9 10 03 [04]     and         A,3                         
00DB                
00DB B0 E3 [05]     jnz         check_bus_activity_status           ;every 4 msec, do the following:
00DD            
00DD 1A 38 [06]     mov         A,[background_flags]                ; set the flag to scan the keyboard
00DF 0D 02 [04]     or          A,SCAN_FLAG
00E1 31 38 [05]     mov         [background_flags],A
00E3            
00E3            check_bus_activity_status:
00E3 29 1F [05]         iord    USB_Status_Control                              ; check if there is no bus activity
00E5 10 08 [04]         and             A, 08h
00E7 16 00 [04]         cmp             A,0h
00E9 A0 F7 [05]         jz              Inc_counter                                             ; if there was bus activity
00EB 29 1F [05]         iord    USB_Status_Control                              ;   clear the bus activity bit
00ED 10 F7 [04]         and             A, 0F7h
00EF 2A 1F [05]         iowr    USB_Status_Control
00F1 19 00 [04]         mov             A, 0h                                                   ;   clear the suspend counter
00F3 31 34 [05]         mov             [suspend_counter], A                    ;   
00F5 81 06 [05]         jmp             Exit_1ms
00F7            
00F7            Inc_counter:                                                            ;there was no bus activity,
00F7 23 34 [07]     inc         [suspend_counter]                               ;so increment the bus activity counter
00F9 1A 34 [06]         mov             A,[suspend_counter]
00FB 16 03 [04]         cmp             A, 03h                                                  ;if 3msecs of bus inactivity passed
00FD

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
偷拍自拍另类欧美| 成人av免费在线| 国产精品资源在线看| 国产传媒欧美日韩成人| 99精品视频在线观看| 欧美日韩精品免费观看视频 | 《视频一区视频二区| 一卡二卡三卡日韩欧美| 捆绑变态av一区二区三区| 大白屁股一区二区视频| 欧美日韩综合在线| 久久综合久久综合久久| 亚洲日本丝袜连裤袜办公室| 日本视频中文字幕一区二区三区| 国产丶欧美丶日本不卡视频| 在线观看区一区二| 精品国产凹凸成av人网站| 亚洲日本青草视频在线怡红院| 亚洲丶国产丶欧美一区二区三区| 国产伦精品一区二区三区视频青涩| 99久久婷婷国产| 日韩免费观看高清完整版| 亚洲欧洲99久久| 精品一区二区三区在线视频| 99久久精品国产麻豆演员表| 日韩精品一区国产麻豆| 亚洲啪啪综合av一区二区三区| 免费黄网站欧美| 色婷婷久久久综合中文字幕| 欧美精品一区二区三区很污很色的 | 亚洲三级在线看| 精品一区二区三区免费观看| 91丨porny丨在线| 欧美精品一区二区三区蜜桃| 五月激情综合色| caoporn国产精品| 精品国产三级a在线观看| 一区二区三区四区av| 国产成人精品亚洲777人妖 | 欧美a级理论片| 色999日韩国产欧美一区二区| 欧美精品一区二区三区在线| 亚洲成精国产精品女| av资源站一区| 久久久久九九视频| 免费在线看成人av| 欧美三级中文字幕| 亚洲欧美一区二区三区孕妇| 国产成人精品免费在线| 欧美成人性福生活免费看| 亚洲成av人影院| 色综合久久六月婷婷中文字幕| 国产视频亚洲色图| 激情综合色综合久久| 欧美一区二区在线播放| 亚洲主播在线播放| 色综合久久六月婷婷中文字幕| 国产精品免费丝袜| 国产专区欧美精品| 精品久久久久久无| 蜜桃精品视频在线观看| 在线播放日韩导航| 五月婷婷综合激情| 欧美日韩成人激情| 亚洲小少妇裸体bbw| 在线看国产一区二区| 亚洲三级在线看| 91福利精品第一导航| 亚洲精品欧美综合四区| 99久久国产综合精品麻豆| 国产精品久久午夜夜伦鲁鲁| 国产一区二区三区国产| 精品国产一区久久| 国产在线乱码一区二区三区| 日韩精品最新网址| 精品写真视频在线观看| 精品少妇一区二区三区视频免付费 | 成人毛片视频在线观看| 国产农村妇女精品| 成人激情午夜影院| 亚洲欧美综合另类在线卡通| 97国产一区二区| 依依成人精品视频| 欧美亚日韩国产aⅴ精品中极品| 亚洲一区二区三区四区的| 91浏览器在线视频| 亚洲国产日日夜夜| 欧美精品在线观看播放| 日本欧美韩国一区三区| 欧美成人乱码一区二区三区| 国产在线视频精品一区| 国产精品国产三级国产有无不卡| 99re热这里只有精品视频| 一区二区三区在线观看视频| 欧美日韩色一区| 麻豆一区二区在线| 国产欧美日韩在线视频| 91视频在线看| 五月婷婷欧美视频| 精品欧美一区二区久久| 国产成人免费在线观看不卡| 综合中文字幕亚洲| 欧美私模裸体表演在线观看| 男女性色大片免费观看一区二区 | 国产成人免费在线视频| 最好看的中文字幕久久| 欧美福利视频一区| 国产一区二区三区高清播放| 18欧美亚洲精品| 欧美久久久影院| 国产一区二区不卡| 亚洲激情网站免费观看| 日韩天堂在线观看| 成人激情动漫在线观看| 亚洲大片在线观看| 久久久电影一区二区三区| 色哟哟国产精品| 免费观看久久久4p| 中文字幕色av一区二区三区| 欧美日韩在线免费视频| 韩国精品一区二区| 一级女性全黄久久生活片免费| 日韩欧美久久久| 91小视频在线| 久久精品国产久精国产| 1区2区3区精品视频| 日韩欧美黄色影院| 在线欧美一区二区| 国产精一区二区三区| 亚洲一区二区三区四区在线| 久久久天堂av| 欧美日韩国产综合久久| 成人91在线观看| 美女看a上一区| 亚洲精品少妇30p| 久久久综合激的五月天| 欧美日韩久久久一区| 成人黄色在线网站| 精品在线免费视频| 亚洲午夜免费视频| 亚洲国产精品成人久久综合一区| 在线不卡的av| 99精品1区2区| 国产成人综合网| 美腿丝袜亚洲色图| 亚洲午夜久久久| 亚洲色欲色欲www在线观看| 精品久久久久久亚洲综合网| 欧美日韩一区二区三区免费看| 成人一级片网址| 久久电影网站中文字幕| 午夜精品免费在线| 亚洲美女视频在线观看| 久久久久97国产精华液好用吗| 欧美福利一区二区| 欧美视频第二页| 色婷婷久久综合| 99精品偷自拍| 懂色av中文一区二区三区| 麻豆成人免费电影| 无码av免费一区二区三区试看 | 在线91免费看| 欧美三片在线视频观看| 91日韩精品一区| 成人国产亚洲欧美成人综合网| 精品一区二区久久久| 日韩av一区二区在线影视| 亚洲国产精品一区二区久久恐怖片| 国产精品久久久久久久久果冻传媒| 欧美精品一区在线观看| 精品国产乱子伦一区| 欧美一区二区二区| 91精品国产综合久久久久| 欧美日韩一区二区三区在线看| 色综合天天狠狠| 91蝌蚪porny| 91片在线免费观看| 色一区在线观看| 欧美在线影院一区二区| 91美女片黄在线观看| 北条麻妃一区二区三区| 成人av资源站| 91污在线观看| 色久优优欧美色久优优| 一本色道久久加勒比精品 | 亚洲欧美一区二区三区极速播放 | 欧美在线观看禁18| 91成人免费网站| 欧美少妇bbb| 欧美日韩国产小视频在线观看| 欧美三级乱人伦电影| 精品视频色一区| 91精品国产一区二区三区蜜臀| 91精品一区二区三区久久久久久 | 久久精品免费看| 国内精品国产成人| 国产99精品国产| eeuss鲁片一区二区三区在线看 | 午夜久久久久久电影| 日日骚欧美日韩|