]> wirehaze git hosting - BOS.git/blobdiff - kernel/realmode/do_all_16bit.inc

wirehaze git hosting

made it assemble under os x, moved loading position of kernel + install script for osx
[BOS.git] / kernel / realmode / do_all_16bit.inc
index f0fb4c3cd57fcd926d97b44c1ec585693d230a8c..86f779912f6065b7dee817d55ac0a0ae0cddfef1 100755 (executable)
@@ -11,7 +11,7 @@
 ;---------------------;\r
 do_all_16bit:\r
          call    getmem                              ; realmode/mem.inc\r
 ;---------------------;\r
 do_all_16bit:\r
          call    getmem                              ; realmode/mem.inc\r
-         mov     [ram_amount - 0x10000], eax\r
+         mov     [ram_amount], eax\r
 \r
          xor     eax, eax                            ; clear mem for IDT and GDT\r
          mov     edi, 0x6c00                         ; IDT address\r
 \r
          xor     eax, eax                            ; clear mem for IDT and GDT\r
          mov     edi, 0x6c00                         ; IDT address\r
@@ -20,15 +20,15 @@ do_all_16bit:
 \r
          mov     eax, cs\r
          shl     eax, 4\r
 \r
          mov     eax, cs\r
          shl     eax, 4\r
-         mov     [gdt.BOS_16code - 0x10000 + 2], ax  ; Prepare GDT by\r
-         mov     [gdt.BOS_16data - 0x10000 + 2], ax  ; setting 16-bit base.\r
+         mov     [gdt.BOS_16code + 2], ax  ; Prepare GDT by\r
+         mov     [gdt.BOS_16data + 2], ax  ; setting 16-bit base.\r
          shr     eax, 16\r
          shr     eax, 16\r
-         mov     [gdt.BOS_16code - 0x10000 + 4], al\r
-         mov     [gdt.BOS_16data - 0x10000 + 4], al\r
-         mov     [gdt.BOS_16code - 0x10000 + 7], ah\r
-         mov     [gdt.BOS_16data - 0x10000 + 7], ah\r
+         mov     [gdt.BOS_16code + 4], al\r
+         mov     [gdt.BOS_16data + 4], al\r
+         mov     [gdt.BOS_16code + 7], ah\r
+         mov     [gdt.BOS_16data + 7], ah\r
 \r
 \r
-         lea     esi, [gdt - 0x10000]\r
+         lea     esi, [gdt]\r
          mov     edi, 0x7400                         ; GDT address\r
          mov     ecx, (gdt_end - gdt)/4\r
          rep     movsd                               ; Move it to final pos.\r
          mov     edi, 0x7400                         ; GDT address\r
          mov     ecx, (gdt_end - gdt)/4\r
          rep     movsd                               ; Move it to final pos.\r