1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- # lidt
- TODO get working:
- - http://wiki.osdev.org/Real_Mode
- Sets the IDTR through a from a descriptor in memory, and tells the CPU where the IDT is on memory.
- Expected outcome: 'ab' gets printed to the screen.
- osdev says this is not compatible with older CPUs.
- # sidt
- Read the descriptor register to memory.
- */
- #include "common.h"
- BEGIN
- CLEAR
- lidt idt_descriptor
- movw $handler, 0x04
- mov %cs, 0x06
- int $0
- PUTC $'b
- hlt
- idt:
- .word 2
- .word 4
- idt_end:
- idt_descriptor:
- .word idt_end - idt
- .long idt
- handler:
- PUTC $'a
- iret
|