lidt.S 301 B

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