about summary refs log tree commit diff stats
path: root/boot.subx
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-03-15 09:17:15 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-03-15 09:17:15 -0700
commite35d4f46fd6677e9c1e29fa4a51e0649bea5e1b7 (patch)
tree2cac5d22e99e42f7d85830e12e76404b1967f112 /boot.subx
parent4374da4d86a7fb3c6328acd8f334154fefa59cae (diff)
downloadmu-e35d4f46fd6677e9c1e29fa4a51e0649bea5e1b7.tar.gz
.
Diffstat (limited to 'boot.subx')
-rw-r--r--boot.subx17
1 files changed, 8 insertions, 9 deletions
diff --git a/boot.subx b/boot.subx
index bf30647e..482a1351 100644
--- a/boot.subx
+++ b/boot.subx
@@ -276,18 +276,17 @@ initialize_32bit_mode:
 55 aa
 
 ## sector 2 onwards loaded by load_disk, not automatically on boot
-== data
 
-# offset 200 (address 0x7e00):
-# null interrupt handler:
+null-interrupt-handler:
   cf  # iret
 
 # padding
 # 201:
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
-# 210:
-# keyboard interrupt handler:
+== data
+
+keyboard-interrupt-handler:
   # prologue
   fa  # disable interrupts
   60  # push all registers to stack
@@ -557,18 +556,18 @@ idt_start:
 # https://wiki.osdev.org/index.php?title=Interrupts&oldid=25102#Default_PC_Interrupt_Vector_Assignment
 
 # entry 8: clock
-  00 7e  # target[0:16] = null interrupt handler [label]
+  null-interrupt-handler/imm16  # target[0:16]
   08 00  # segment selector (gdt_code)
   00  # unused
   8e  # 1/p 00/dpl 0 1110/type/32-bit-interrupt-gate
-  00 00  # target[16:32]
+  0/imm16  # target[16:32] -- null-interrupt-handler must be within address 0x10000
 
 # entry 9: keyboard
-  10 7e  # target[0:16] = keyboard interrupt handler [label]
+  keyboard-interrupt-handler/imm16  # target[0:16]
   08 00  # segment selector (gdt_code)
   00  # unused
   8e  # 1/p 00/dpl 0 1110/type/32-bit-interrupt-gate
-  00 00  # target[16:32]
+  0/imm16  # target[16:32] -- keyboard-interrupt-handler must be within address 0x10000
 
 00 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00