flush_gdt:
lgdt [gdtr]
jmp 0x08:complete_flush
complete_flush:
mov ax, 0x10
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
mov ss, ax
ret
I am unable to understand what this code does . flush_gdt
is a label okay , then lgdt [gdtr]
loads the 48-bit
pointer in gdtr
register and after that from jmp 0x08:complet_flush
.
What does jmp instruction do ? and then why are we moving 0x10 to ax and then subsequently to other registers
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With