This commit is contained in:
parent
5616691621
commit
069a8df45c
24
timer.subx
24
timer.subx
|
@ -292,7 +292,13 @@ idt_start:
|
|||
8e # 1/p 00/dpl 0 1110/type/32-bit-interrupt-gate
|
||||
0/imm16 # target[16:32] -- timer-interrupt-handler must be within address 0x10000
|
||||
|
||||
00 00 00 00 00 00 00 00
|
||||
# entry 9: keyboard
|
||||
null-interrupt-handler/imm16 # target[0:16]
|
||||
8/imm16 # segment selector (gdt_code)
|
||||
00 # unused
|
||||
8e # 1/p 00/dpl 0 1110/type/32-bit-interrupt-gate
|
||||
0/imm16 # target[16:32] -- null-interrupt-handler must be within address 0x10000
|
||||
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00
|
||||
|
@ -320,6 +326,22 @@ idt_start:
|
|||
|
||||
== code
|
||||
|
||||
null-interrupt-handler:
|
||||
# prologue
|
||||
fa/disable-interrupts
|
||||
60/push-all-registers
|
||||
9c/push-flags
|
||||
# acknowledge interrupt
|
||||
b0/copy-to-al 0x20/imm8
|
||||
e6/write-al-into-port 0x20/imm8
|
||||
31/xor %eax 0/r32/eax
|
||||
$null-interrupt-handler:epilogue:
|
||||
# epilogue
|
||||
9d/pop-flags
|
||||
61/pop-all-registers
|
||||
fb/enable-interrupts
|
||||
cf/return-from-interrupt
|
||||
|
||||
timer-interrupt-handler:
|
||||
# prologue
|
||||
fa/disable-interrupts
|
||||
|
|
Loading…
Reference in New Issue