汇编题目:按A键,当松开的时显示字母A
生活随笔
收集整理的這篇文章主要介紹了
汇编题目:按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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库 'MessageManage'
- 下一篇: Javascript学习资源整理