アセンブラ(TASM)でプログラムを書く必要があります。ボタンが押されたときにコンソールにメッセージを書き込む必要があります。
int 9hハンドラーである必要があります!
では、どうすれば自分のハンドラープロシージャの標準キーボードハンドラーを変更できますか?
keyboardhandler proc
mov ah,9
mov dx,offset myMsg
int 21h
iret
keyboardhandler endp
シンプルであるほど良い。ありがとうございました。
==============================================
_今...プログラムがあります
.model small
.386
.stack 100h
.data
old9 dd ?
.code
start:
mov ax,@data
mov ds,ax
mov es,ax
jmp setup
prg proc
mov ah,2
mov dl,'X'
iret
prg endp
setup:
cli
mov ax,0h
mov es,ax
mov bx,es:[9*4]
mov word ptr old9,bx
mov bx,es:[9*4+2]
mov word ptr old9+2,bx
mov word ptr es:[9*4],offset prg
mov es:[9*4+2],cs
sti
int 09h ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; this one
lds dx,dword ptr old9
mov ax,2509h
int 21h
mov ax,4c00h
int 21h
end start
それは素晴らしい働きをします。しかし、1つの問題があります。行int09hを変更すると
mov ah,01h
int 21h
また、「X」を出力しますが、その後プログラムがハングします(ms-dosも)。どうすれば修正できますか?