日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编题目:按A键,当松开的时显示字母A

發布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编题目:按A键,当松开的时显示字母A 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝一個新的int9中斷例程,功能:在DOS下,按下“A”鍵后,除非不再松開,如果松開,就顯示滿屏的“A”;其他的按鍵照常處理。
提示:按下一個鍵時產生的掃描碼稱為通碼,松開一個鍵時產生的掃描碼稱為斷碼,斷碼 = 通碼 + 80h

我把程序改了下,按c鍵,在屏幕上顯示B字母,程序代碼如下:

;程序功能:按A鍵,當松開的時候在屏幕的80*25的里面全部顯示字母A,不松開則不作任何處理,其他的鍵照常處理。 assume cs:code data segment db 100 dup(0)data endscode segment start: mov ax,0mov es,axmov di,200hmov ds,axmov si,[9*4]mov cx,4cldrep movsbmov ax,offset int9mov ds:[9*4],axmov ax,csmov ds:[9*4+2],axcall breakPoint;還原int9中斷向量表mov ax,0mov ds,axmov si,200hmov di,9*4mov cx,4cldrep movsbmov ax,4c00hint 21h;實現int9中斷例程 int9:clipush axmov ax,0b800hpush esmov es,axpush bxmov bx,0push cxmov cx,2000in al,60hcmp al,2eh+80hjne int9retmov ah,'B's0:mov byte ptr es:[bx],ahadd bx,2loop s0int9ret:int 80hpop cxpop bxpop espop axiretbreakPoint:push axpushfpop axor ah,3 ;這里可以增加判斷,例:當cx為100的時候再設置斷點push axpopfpop axretcode ends end start

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

總結

以上是生活随笔為你收集整理的汇编题目:按A键,当松开的时显示字母A的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。