Rozvíjam jadro s montážou a C a v procese zavádzania, chcem, aby jadro otočilo tlačidlo uzamknutia Caps off potom som našiel odkaz na LED na kľúči tu, Ako môžem túto funkciu nazývať C alebo montážou (nasm štýl)?
odpovede:
1 pre odpoveď č. 1SetKeyBoardLeds:
push eax
mov al,0xed
out 60h,al
KeyBoardWait:
in al,64h
test al,10b
jne KeyBoardWait
mov al,byte [keyBoardStatus]
and al,111b
out 60h,al
pop eax
ret
napr:
mov [keyBoardStatus],0xb0 ; Initialise keyboard LED state
call SetKeyBoardLeds
;--------------------------------- This will toggle CapsLock LED
xor [keyBoardStatus],4
call SetKeyBoardLeds
;---------------------------------
and [keyBoardStatus],0xfb
call SetKeyBoardLeds
kde keyBoardStatus je bajt (bude držať aktuálny stav LED klávesnice).
0 pre odpoveď č. 2
Môžeš čítať môj kód na zmienku: irq_ex2.c: Príklad obsluhy prerušenia. Tento kód sa viaže na IRQ 1, čo je IRQ klávesnice ovládanej podľa architektúry Intel. Potom, keď prijme prerušenie klávesnice, číta informácie o stavovom svetelnom a kódovom kóde do pracovnej fronty. lisovania:
ESC ---> Caps Lock Vypnuté
F1, F2 ---> Caps Lock ON