lidt.S 369 B

1234567891011121314151617181920212223
  1. /* https://github.com/cirosantilli/x86-bare-metal-examples#lidt */
  2. #include "common.h"
  3. BEGIN
  4. CLEAR
  5. cli
  6. movw $handler, idt_start
  7. mov %cs, idt_start + 2
  8. lidt idt_descriptor
  9. int $0
  10. PUTC $'b
  11. hlt
  12. idt_start:
  13. .word handler
  14. .word
  15. idt_end:
  16. idt_descriptor:
  17. .word idt_end - idt_start
  18. .long idt_start
  19. handler:
  20. PUTC $'a
  21. iret