彙編題目 按A鍵,當鬆開的時顯示字母A

2021-09-07 05:25:11 字數 1462 閱讀 6850

我把程式改了下,按c鍵,在螢幕上顯示b字母,程式**如下:

;

程式功能:按a鍵,當鬆開的時候在螢幕的80*25的裡面全部顯示字母a,不鬆開則不作任何處理,其他的鍵照常處理。

assume

cs:code

data segment

db 100 dup(0

)data ends

code segment

start:

mov ax,0

moves,ax

movdi,200h

movds,ax

mov si,[9*4

]

mov cx,4

cldrep

movsb

movax,offset int9

movds:[9*4

],ax

movax,cs

movds:[9*4+2

],ax

call

breakpoint

;還原int9中斷向量表

mov ax,0

movds,ax

movsi,200h

mov di,9*4

mov cx,4

cldrep

movsb

movax,4c00h

int21h

;實現int9中斷例程

int9:

clipush

ax

movax,0b800h

push

es

moves,ax

push

bx

mov bx,0

push

cx

mov cx,2000

inal,60h

cmpal,2eh+80h

jneint9ret

mov ah,'b

's0:

mov byte ptr es:

[bx],ah

add bx,2

loop s0

int9ret:

int80h

popcx

popbx

popes

popax

iret

breakpoint:

push

ax

pushf

popax

or ah,3

;這裡可以增加判斷,例:當cx為100的時候再設定斷點

push

ax

popf

popax

retcode ends

end start

執行:我使用的是win7+masm6.15環境,通過編譯、鏈結後,使用debug ***.exe的形式執行,直接按g命令,則會執行到斷點處call breakpoint,這時候你按c鍵盤,就可以在螢幕上顯示b字母了。

判斷鍵是否按下

確定系統當前物理滑鼠按鈕與邏輯滑鼠按鈕的對應關係,當滑鼠按鈕被左右交換後,函式返回true int ismouseswap getsystemmetrics sm swapbutton 確定函式被呼叫時,相應按鍵是處於按下狀態,還是處於彈起狀態 並且按下此鍵前否呼叫過getasynckeystate...

2020 10 21 925 長鍵按入

925.長按鍵入 難度簡單143 你的朋友正在使用鍵盤輸入他的名字name。偶爾,在鍵入字元c時,按鍵可能會被長按,而字元可能被輸入 1 次或多次。你將會檢查鍵盤輸入的字元typed。如果它對應的可能是你的朋友的名字 其中一些字元可能被長按 那麼就返回true。示例 1 輸入 name alex t...

當輸入ur1之後,按下回車鍵發生了哪些動作

1.當瀏覽器輸入url,先解析url位址是否是合法的。2.瀏覽器檢查是否存在快取 瀏覽器快取 系統快取 路由器快取 如果快取中都沒有,看第三步。3.發起http請求前,需要進行網域名稱解析 dns解析 獲取對應的ip位址。4.發起tcp連線,經過三次握手。5.握手成功,瀏覽器想伺服器傳送http請求...