55 lines
797 B
NASM
55 lines
797 B
NASM
|
|
||
|
|
||
|
create_gdt:
|
||
|
mov bx, STAGE_1_GDT_MEMORY_ADDRESS
|
||
|
mov ds, bx
|
||
|
|
||
|
mov bx, 8
|
||
|
mov di, 8
|
||
|
.set_loop:
|
||
|
|
||
|
mov ax, bx
|
||
|
and ax, 0b111
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 0
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 1
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 2
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 3
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 4
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 5
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 6
|
||
|
je .set_loop_condition
|
||
|
|
||
|
mov [bx], byte 0xff
|
||
|
cmp ax, 7
|
||
|
je .set_loop_condition
|
||
|
|
||
|
.set_loop_condition:
|
||
|
cmp bx, 48
|
||
|
jb .set_loop
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
ret
|
||
|
|