以下の「processKey」関数は、キーボードで押されたキーを認識し、押されたキーに基づいて何らかのアクションを実行するように作成されています。以下にプログラムされているすべてのキーが機能します。4 つの矢印キー (上、下、左、右) と CTRL UP および CTRL DWN を検出する機能を関数に追加する必要があります。これらのキーにはアスキー コードがなく、スキャン コードがあることを理解しています。誰かがスキャンコードを見つけるのを手伝ってくれませんか? 私はオンラインで探してみましたが、あまり運がありませんでした。オペレーティング システムと関係がある場合は、Macintosh で Windows 8.1 を実行しています。ありがとうございました!
processKey PROC
PUSH AX BX
MOV AH, 10h
INT 16h
CMP AL, 1Bh ;ESC key?
JE ESCKey
JMP F1Key
ESCKey:
MOV AH, 4Ch
INT 21h
F1Key:
CMP AX, 3B00h ;F1 key?
JE toggleLineType
JMP F2Key
toggleLineType:
CMP singleOrDouble, 0
JE toggleDouble
MOV singleOrDouble, 0
JMP done
toggleDouble:
MOV singleOrDouble, 1
JMP done
F2Key:
CMP AX, 3C00h ;F2 key?
JE foregroundToggle
JMP F3Key
foregroundToggle:
CMP foreground, 7
JE resetForeground
MOV BL, foreground
INC BL
MOV foreground, BL
JMP done
resetForeground:
MOV foreground, 1
F3Key:
CMP AX, 3D00h ;F3 key?
JE backgroundToggle
JMP done
backgroundToggle:
CMP background, 7
JE resetBackground
MOV BL, background
INC BL
MOV background, BL
JMP done
resetBackground:
MOV background, 1
done:
POP BX AX
CALL drawBox
RET
processKey ENDP