; blinklights.asm
[BITS 16]
[ORG 0x7C00]
jmp Code_Start
Switch_Kbd_Leds:
push dx ; Store current values.
push ax
mov dx, 60h ; '60h' is the 'kbd' port value.
mov al, 0EDh ; '0EDh' is 'set/reset leds' function.
out dx, al ; Output to the port.
pop ax ; Get the setting from the stack.
out dx, al ; Output to the port.
pop dx ; Restore 'dx'.
ret ; Return.
Code_Start:
mov al, 00000111b
call Switch_Kbd_Leds
jmp $
times 510-($-$$) db 0
dw 0xAA55
它的工作方式是al包含用于打开或关闭某些灯的位:
---- ---- ---- ---- ---- caps num scrl
0 0 0 0 0 x x x
1条答案
按热度按时间ajsxfq5m1#
此独立文件将打开Caps Lock、Scroll Lock和Num Lock键盘指示灯。
它的工作方式是
al
包含用于打开或关闭某些灯的位:这一行会打开Caps(大写)、Num(数字)和Scroll Lock(滚动锁定)灯:
最后,使用“设置/重置LED”(
0EDh
)调用键盘端口60h
会更改这些值。