EttinOS/source/keycode.inc

45 lines
526 B
PHP

;Reads a keypress and prints its BIOS code.
keycode:
;Read a keypress
mov ah, 0x0
int 0x16
;Store the keycode
mov [.scan], ah
mov [.ascii], al
;Print the prefix
mov si, .prefix
call printstr
;Convert the scancode to a hex string
mov ah, [.scan]
mov di, .keycode
call byte2hexstr
;Convert the ascii value to a hex string
mov ah, [.ascii]
mov di, .keycode
add di, 0x2
call byte2hexstr
;Print the keycode
mov si, .keycode
call println
ret
.prefix:
db "0x", 0x0
.scan:
db 0x0
.ascii:
db 0x0
.keycode:
times 0x5 db 0x0