3

Windows (MASM) で x86 アセンブリのプロジェクトに取り組んでおり、どうにかしてタブの押下をキャッチする必要がありますが、アセンブリでそれを行う方法がわかりません (私は初めてです)。

int 21h でユーザー入力を取得できますが、ユーザーがデータを入力してから Enter キーを押した場合にのみ機能することがわかります。

私が必要としているのは、ユーザーがタブ キーを押した場合に proc を実行し、その proc から何が必要かを処理できるようにする方法です。これを行う方法はありますか?

4

2 に答える 2

2

私が正しく理解していれば、次を使用できます:

mov ah,1 ; get char from keyboard

int 21h

cmp al, 9 ; 9 is ascii of tab

jnz Dont_Call

Call Proc_Name

Dont_Call:

(REST OF CODE)

于 2010-05-12T20:55:31.753 に答える
1

http://spike.scu.edu.au/~barry/interrupts.html#ah01

DOSINT21h-DOS機能コード

AH = 01h-エコーを使用して、標準入力から文字を読み取ります

戻り値:AL=文字読み取り

ノート:

^ C /^ブレークがチェックされます
^PはDOS内部のecho-to-printerフラグを切り替えます
^Zは解釈されないため、入力がリダイレクトされてもEOFは発生しません文字が標準出力にエコーされます

関連項目:AH = 06h、AH = 07h、AH = 08h、AH = 0Ah

于 2010-05-11T17:38:51.670 に答える