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

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

?? int09.asm

?? 實時多重作業操作系統內核(RTMK)。簡單實時多重作業操作系統內核源程序。RTMK支持消息和事件
?? ASM
字號:
;************************************************************************
;*
;* Module name         : INT09.ASM
;*
;* Module description  :
;*    Keyboard interrupt handler.
;*
;* Project             : RTMK
;*
;* Target platform     : DOS
;*
;* Compiler & Library  : TASM
;*
;* Author              : Richard Shen
;*
;* Creation date       : 25 August, 95
;*
;************************************************************************
                  title    Interrupt 09
                  .model   large

                  public   _Int09Handler
                  public   _SaveInt09

                  extrn    _servingInt
                  extrn    _ApplCheckFunc:CODEPTR
                  extrn    _ackProcess:far
                  extrn    _armEvent:far
                  extrn    _RtmkSend:CODEPTR
                  extrn    _ClearKeyHitEvent:CODEPTR

;************************************************************************
;*                S E G M E N T    D E C L A R A T I O N S              *
;************************************************************************

;int09_text       segment byte public 'CODE'
;int09_text       ends

DGROUP            group    _DATA,_BSS
                  assume   cs:int09_text, ds:DGROUP

_DATA             segment  word public 'DATA'
   d@             label    byte
   d@w            label    word
_DATA             ends

_BSS              segment word public 'BSS'
   b@             label    byte
   b@w            label    word
_BSS              ends

;************************************************************************
;*                      D A T A    S E G M E N T                        *
;************************************************************************
_DATA             segment  word public 'DATA'
   _SaveInt09     dd       0           ; Original INT 09H interrupt handler
_DATA             ends

; Keyboard scan codes
scSpaceKey        equ      39h
scInsKey          equ      52h
scDelKey          equ      53h

scCtrlKey         equ      1dh
scShiftLeftKey    equ      2ah
scShiftRightKey   equ      36h
scAltKey          equ      38h
scCapKey          equ      3ah
scNumLockKey      equ      45h
scScrollLockKey   equ      46h

; ROM BIOS data area (offset)
keyFlags          equ     (byte ptr 17h)     ; Keyboard status bits
keyBufHead        equ     (word ptr 1ah)     ; Address of keyboard buffer head
keyBufTail        equ     (word ptr 1ch)     ; Address of keyboard buffer tail
keyBufOrg         equ     (word ptr 1eh)     ; Address of keyboard buffer tail
keyBufEnd         equ     (word ptr 3eh)     ; Address of keyboard buffer end

;************************************************************************
;*                      C O D E    S E G M E N T                        *
;************************************************************************

;int09_text       segment  byte public 'CODE'
                  .CODE

discardKeyTab     label    byte
                  db       scCtrlKey, scShiftLeftKey, scShiftRightKey
                  db       scAltKey,  scCapKey,       scNumLockKey
                  db       scScrollLockKey

discardKeyCnt     equ      ($ - discardKeyTab)

;***********************************************************************
;  Function name   : Int09Handler
;  Description     : Interrupt 09 (keyboard hardware interrupt) handler
;                  :
;  Parameters      : -
;  Returns         : -
;  Author          : Richard Shen
;----------------------------------------------------------------------
;  Date     By      Description
;----------------------------------------------------------------------
;  25Aug95  RCS     Created
;**********************************************************************/
_Int09Handler     proc far
         cli                           ; Disable interrupt
         push     ax                   ; Save registers
         push     bx
         push     cx
         push     dx
         push     es
         push     ds
         push     si
         push     di
         push     bp
         mov      bp, DGROUP
         mov      ds, bp
         mov      bp, sp

         mov      ax, 40h              ; ROM BIOS area segment
         mov      es, ax
         mov      di, es:keyBufTail
         in       al, 60h              ; Read keyboard port
         mov      ah, es:keyFlags
         pushf
         call     dword ptr DGROUP:_SaveInt09 ; Let original handler to do
         cli                        ; Interrupt flag might have been cleared
         test     al, 80h           ; Key hit detected (not released) ?
         jne      @@9               ; If no, ==> return
         mov      ah, al            ; Save key scan code
         mov      si, offset cs:discardKeyTab   ; Check whether the key is
         mov      cx, discardKeyCnt             ; Shift, Alt, Ctrl, CapsLock
@@8:     mov      al, cs:[si]                   ; or ScrollLock.
         cmp      ah, al                        ; If yes, ignore it
         je       @@9
         inc      si
         loop     @@8

         mov      ax, es:[di]       ; Key pressed
         push     ax
         mov      ax, di
         mov      es:keyBufHead, ax
         pop      ax
   ;
   ;     if (ApplCheckFunc != 0)
   ;     {
   ;        if (ApplCheckFunc(key))
   ;        {
   ;           if (ackProcess != NULL)
   ;              RtmkSend(ackProcess, armEvent);  /* Key hit event arrived */
   ;        } /* end of if */
   ;     } /* end of if */
   ;
         mov      dx, word ptr DGROUP:_ApplCheckFunc
         or       dx, word ptr DGROUP:_ApplCheckFunc + 2
         je       short @@9
         push     ax                   ; Pass in parameter
         call     dword ptr DGROUP:_ApplCheckFunc
         or       ax, ax               ; Check return code
         pop      ax                   ; Adjust stack pointer
         je       @@9

         mov      ax, word ptr DGROUP:_ackProcess  ; if (ackProcess)
         or       ax, word ptr DGROUP:_ackProcess + 2
         je       short @@9
         push     word ptr DGROUP:_armEvent
         push     word ptr DGROUP:_ackProcess + 2
         push     word ptr DGROUP:_ackProcess
         inc      word ptr DGROUP:_servingInt      ; servingInt++;
         call     far ptr  _RtmkSend
         add      sp, 6
         call     far ptr  _ClearKeyHitEvent       ;    ClearKeyHit();
         dec      word ptr DGROUP:_servingInt      ; servingInt--;
@@9:     in       al, 61h           ; Get current value of keyboard control line
         mov      ah, al            ; Save it
         or       al, 80h           ; Set "enable keyboard" bit
         out      61h, al           ; and write it out the control port
         xchg     ah, al            ; Fetch the original control port value
         out      61h, al           ; and write it back
         mov      al, 20h
         out      20h, al

         pop      bp                               ; Restore registers
         pop      di
         pop      si
         pop      ds
         pop      es
         pop      dx
         pop      cx
         pop      bx
         pop      ax
         sti                           ; Enable interrupt
         iret
_Int09Handler     endp

;int09_text       ends

         end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品自拍偷拍| 成人综合在线网站| 欧美日韩国产精品自在自线| 亚洲一区二区av电影| 欧洲av在线精品| 亚洲国产乱码最新视频| 欧美精品免费视频| 久久国产麻豆精品| 国产亚洲一本大道中文在线| 91亚洲精华国产精华精华液| 夜夜嗨av一区二区三区网页| 欧美精品免费视频| 韩国av一区二区三区| 中文字幕一区二区三区不卡在线| 欧洲一区在线观看| 免费观看日韩电影| 中文av一区二区| 欧美系列在线观看| 美女一区二区在线观看| 亚洲国产成人私人影院tom| 色呦呦一区二区三区| 日韩av不卡在线观看| 久久精品日韩一区二区三区| 日本精品视频一区二区三区| 首页欧美精品中文字幕| 久久精品人人做| 欧美视频在线一区| 国产成人综合亚洲网站| 亚洲一区欧美一区| 国产午夜精品一区二区三区视频| 欧美丝袜丝交足nylons| 国产精品影视网| 丝袜诱惑亚洲看片| 国产精品电影一区二区三区| 制服丝袜亚洲色图| 99精品国产热久久91蜜凸| 蜜桃一区二区三区四区| 亚洲色图一区二区三区| 2020国产精品久久精品美国| 欧美在线观看视频一区二区三区| 国产美女一区二区| 亚洲综合激情另类小说区| 国产视频一区二区在线| 欧美精品一卡二卡| 一本大道久久a久久综合| 久久99精品久久久久久久久久久久 | 久久亚区不卡日本| 欧美色手机在线观看| 成人app网站| 国产一区二区女| 日韩成人午夜电影| 亚洲伊人色欲综合网| 日本一区二区久久| 精品国产网站在线观看| 欧美日本视频在线| 欧美系列一区二区| 91麻豆免费看片| 国产大片一区二区| 国产在线播放一区三区四| 丝袜美腿高跟呻吟高潮一区| ...xxx性欧美| 国产精品视频免费看| 日韩视频免费观看高清完整版在线观看 | 欧美日韩免费一区二区三区| 国产suv精品一区二区6| 激情深爱一区二区| 日本亚洲三级在线| 亚洲综合久久av| 一区二区三区欧美亚洲| 亚洲精品国产无天堂网2021| 中文字幕一区二区不卡| 国产精品久久毛片| 欧美高清在线一区| 国产精品美女久久久久aⅴ国产馆| wwwwxxxxx欧美| 26uuu国产日韩综合| 日韩欧美高清一区| 精品蜜桃在线看| 欧美大肚乱孕交hd孕妇| 欧美精品一区二区久久婷婷 | 国产乱码字幕精品高清av| 经典三级视频一区| 国产福利一区二区| 成人精品高清在线| 色综合网站在线| 91精品福利在线| 欧美精品久久99久久在免费线| 欧美肥胖老妇做爰| 91麻豆精品国产91久久久久久久久 | 六月婷婷色综合| 国精产品一区一区三区mba桃花| 毛片av中文字幕一区二区| 麻豆精品视频在线| 国产在线播放一区| 菠萝蜜视频在线观看一区| 色综合久久88色综合天天6| 欧美性猛片aaaaaaa做受| 欧美久久久一区| 欧美精品一区二区三区四区 | 欧美亚洲一区三区| 欧美一区在线视频| 久久精品日产第一区二区三区高清版 | 色综合天天综合色综合av | 美腿丝袜亚洲三区| 风间由美一区二区三区在线观看| 99re热视频这里只精品| 欧美日韩精品欧美日韩精品| 日韩午夜av一区| 欧美国产成人在线| 日韩精品一区第一页| 国产成人综合亚洲91猫咪| 色婷婷综合五月| 欧美一区二区在线不卡| 国产精品久久久久久久浪潮网站| 亚洲一区二区三区四区五区黄| 免费在线成人网| 91视频你懂的| 精品剧情在线观看| 中文字幕在线不卡国产视频| 日韩中文字幕区一区有砖一区 | 中文字幕一区免费在线观看| 天天色天天操综合| 国产成人午夜视频| 在线观看日韩精品| 国产性色一区二区| 午夜在线成人av| 波多野结衣的一区二区三区| 在线播放日韩导航| 亚洲日本乱码在线观看| 精品一区二区三区在线播放| 在线精品视频免费观看| 中文字幕欧美日韩一区| 日韩av在线发布| 在线观看免费成人| 国产精品久久99| 国产精品中文字幕欧美| 制服.丝袜.亚洲.中文.综合| 国产精品成人网| 国产一区二区按摩在线观看| 欧美男人的天堂一二区| 亚洲视频小说图片| 国产福利一区在线| 欧美成人a∨高清免费观看| 亚洲综合图片区| 色综合久久久久网| 国产精品免费看片| 国产乱人伦偷精品视频不卡 | 久久综合久久综合九色| 日韩av在线发布| 欧美日韩在线综合| 亚洲免费资源在线播放| 成人小视频在线| 国产日韩欧美a| 国产在线日韩欧美| 精品理论电影在线| 精品亚洲porn| 精品少妇一区二区三区| 亚洲图片欧美色图| 欧美色窝79yyyycom| 亚洲国产综合91精品麻豆| 色综合久久久久综合体| 亚洲激情在线播放| 欧美在线免费视屏| 亚洲一区二区三区四区在线| 欧日韩精品视频| 丝瓜av网站精品一区二区 | 亚洲国产日韩一区二区| 日本精品一级二级| 性做久久久久久久免费看| 欧美视频一二三区| 午夜精品久久久久久| 欧美一区二区视频在线观看2020| 青青国产91久久久久久| 日韩欧美国产成人一区二区| 国产一区二区在线免费观看| 久久久美女毛片| 成人av在线影院| 亚洲欧美综合色| 日本高清不卡一区| 性久久久久久久| www国产成人| 99这里只有精品| 夜夜揉揉日日人人青青一国产精品| 欧美日韩在线综合| 久久99国产精品免费| 国产情人综合久久777777| 波波电影院一区二区三区| 亚洲综合av网| 欧美va日韩va| 大胆欧美人体老妇| 一区二区日韩av| 91精品国产综合久久精品麻豆| 韩国女主播成人在线| 国产精品国产精品国产专区不蜜 | 成人av午夜电影| 亚洲综合色自拍一区| 欧美一区二区视频网站| 成人免费看的视频| 亚洲午夜精品网| 国产欧美一区二区精品性色|