; Настройки Multiboot MULTIBOOT_MAGIC equ 0x1BADB002 MULTIBOOT_FLAGS equ 0x00 MULTIBOOT_CHECKSUM equ -(MULTIBOOT_MAGIC + MULTIBOOT_FLAGS) section .multiboot align 4 dd MULTIBOOT_MAGIC dd MULTIBOOT_FLAGS dd MULTIBOOT_CHECKSUM section .text global _start extern kernel_main ; Наша функция из Си-файла _start: mov esp, stack_space ; Выделяем указатель на стек ; Передаем параметры от GRUB в Си-код по стандарту cdecl push ebx ; Аргумент 2: Адрес структуры Multiboot push eax ; Аргумент 1: Магическое число Multiboot call kernel_main ; Прыгаем в Си! jmp $ ; Если Си-функция вернется — виснем в вечном цикле section .bss resb 8192 ; 8 КБ под стек stack_space: