;---------------------;\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
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
- 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
- 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