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-14 23:24:02 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-03-14 23:24:02 -0700
commitee81002eb06285e3b13754e95d513f1ac79f4827 (patch)
tree8a453efe34b62864ca93a49e6298035bb66e341e /boot.subx
parent5c1186a77b917625171aebf8abf2bc9e6a911114 (diff)
downloadmu-ee81002eb06285e3b13754e95d513f1ac79f4827.tar.gz
.
Diffstat (limited to 'boot.subx')
-rw-r--r--boot.subx20
1 files changed, 8 insertions, 12 deletions
diff --git a/boot.subx b/boot.subx
index 0db21e32..dd01f409 100644
--- a/boot.subx
+++ b/boot.subx
@@ -164,10 +164,8 @@
   66 83 c8 01  # eax <- or 0x1
 == code
   0f 22/cr<- 3/mod/direct 0/rm32/cr0 0/r32/eax
-== data
   # . far jump that sets cs to offset 8 in the gdt in the process
-  ea 00 7d 08 00  # far jump to initialize_32bit_mode after setting cs to the record at offset 8 in the gdt (gdt_code) [label]
-== code
+  ea/jump-far-absolute 0x00087d00/disp32  # address 0x7d00 in offset 8 of the gdt
 
 == data
 
@@ -197,11 +195,10 @@ disk_error:
 ## GDT: 3 records of 8 bytes each
 == data
 
-# e0:
-# gdt_start:
-# gdt_null:  mandatory null descriptor
+gdt_start:
+# offset 0: gdt_null:  mandatory null descriptor
   00 00 00 00 00 00 00 00
-# gdt_code:  (offset 8 from gdt_start)
+# offset 8: gdt_code
   ff ff  # limit[0:16]
   00 00 00  # base[0:24]
   9a  # 1/present 00/privilege 1/descriptor type = 1001b
@@ -209,7 +206,7 @@ disk_error:
   cf  # 1/granularity 1/32-bit 0/64-bit-segment 0/AVL = 1100b
       # limit[16:20] = 1111b
   00  # base[24:32]
-# gdt_data:  (offset 16 from gdt_start)
+# offset 16: gdt_data
   ff ff  # limit[0:16]
   00 00 00  # base[0:24]
   92  # 1/present 00/privilege 1/descriptor type = 1001b
@@ -218,10 +215,9 @@ disk_error:
   00  # base[24:32]
 # gdt_end:
 
-# f8:
-# gdt_descriptor:
-  17 00  # final index of gdt = gdt_end - gdt_start - 1
-  e0 7c 00 00  # start = gdt_start [label]
+gdt_descriptor:
+  0x17/imm16  # final index of gdt = size of gdt - 1
+  gdt_start/imm32/start
 
 # padding
 # fe: