私はこのコードを持っています:
bits 16
org 0x7C00
start: jmp main
key: dw 0x1e, 'a', 0x30, 'b'
print:
mov ah, 0x0E
int 0x10
keyboard:
cli
in al, 0x64
test al, 1
jz return
test al, 0x20
jnz return
in al, 0x60
call convert
call print
sti
convert:
mov bx, 0
.LOOP:
cmp al, [key+bx]
je .conv
add bx, 2
jmp .LOOP
.conv:
mov al, [key+bx+1]
ret
return:
ret
main:
call keyboard
jmp main
times 510 - ($-$$) db 0
dw 0xAA55
キープレスをチェックし、キーを押すたびに、それを保存して登録し、印刷したいと考えています。
しかし、保存されるのはスキャンコードだけであり、それをASCII文字に置き換える必要があります.配列「キー」でそれを行いますが、機能せず、1つのキーのみを出力するだけで、プログラムは遅れます.