AltLinuxブートローダーでキーが押されたかどうかを確認するのに苦労しています
int 0x16
mov ah, 0x0e
int 0x10
Alt上記のコードはASCII文字を問題なく出力しますが、キーを確認するにはどうすればよいですか?
AltLinuxブートローダーでキーが押されたかどうかを確認するのに苦労しています
int 0x16
mov ah, 0x0e
int 0x10
Alt上記のコードはASCII文字を問題なく出力しますが、キーを確認するにはどうすればよいですか?
0040h:0017h のビット 3 をテストします。
http://www.ousob.com/ng/bios/ng559a.php
このようなもの (AT/T 構文):
mov $0x40,%ax
mov %ax,%es
testb $8,%es:0x17
jz noAltKey
.... ;; Alt pressed
noAltKey:
によるとobjdump -d -M intel
、インテルの構文では次のようになります。
0: 66 b8 40 00 mov ax,0x40
4: 8e c0 mov es,eax
6: 26 f6 04 25 17 00 00 test BYTE PTR es:0x17,0x8
d: 00 08
UPD: 以下は NASM で機能するはずです。
mov ax,0x40
mov es,eax
test [es:0x17],byte 0x8
jz noAltKey
.... ;; Alt pressed
noAltKey: