mirror of
https://github.com/limine-bootloader/limine
synced 2024-11-28 19:33:09 +03:00
32 lines
476 B
Plaintext
32 lines
476 B
Plaintext
extern bss_begin
|
|
extern bss_end
|
|
extern entry
|
|
extern gdt
|
|
|
|
section .entry progbits alloc exec nowrite align=16
|
|
|
|
global _start
|
|
_start:
|
|
cld
|
|
|
|
; Zero out .bss
|
|
xor al, al
|
|
mov edi, bss_begin
|
|
mov ecx, bss_end
|
|
sub ecx, bss_begin
|
|
rep stosb
|
|
|
|
lgdt [gdt]
|
|
jmp 0x18:.reload_cs
|
|
.reload_cs:
|
|
mov eax, 0x20
|
|
mov ds, ax
|
|
mov es, ax
|
|
mov fs, ax
|
|
mov gs, ax
|
|
mov ss, ax
|
|
|
|
jmp entry
|
|
|
|
section .note.GNU-stack noalloc noexec nowrite progbits
|