Archive / / / / / / start.asm
2002-09-21 12:35:31 UTC
previous next
%include "display.mac" %include "cmdline.mac" section boot.data progbits alloc noexec write align=14 Multiboot_Structure dd 0 section boot.text progbits alloc exec nowrite align=16 global start start: mov ecx, 0x4FFFFF mov esp, ecx mov [Multiboot_Structure], ebx push eax clear_screen print_string 0x0F, 'Starting kryptOS 0.02.01...' print_newline print_newline print_string 0x07, 'Getting information from boot loader...' pop eax cmp eax, 0x2BADB002 jne no_multiboot mov eax, [Multiboot_Structure] mov ebx, [eax] bt ebx, 2 jnc no_command_line mov ecx, [eax+16] parse_command_line ecx, Cmdline_Args mov eax, [Multiboot_Structure] mov ebx, [eax] section boot.data progbits alloc noexec write align=14 global Cmdline_Args Cmdline_Args: Cmdline_Init dd 0 ; Pointer to string with value of init= Cmdline_Mem dd 0 ; Total size of memory Cmdline_LMem dd 0 ; Total size of lower memory section boot.text progbits alloc exec nowrite align=16 no_command_line: hang: jmp hang no_multiboot: print_string 0x0C, 'Failed' print_newline print_newline print_string 0x07, 'Please install a multiboot compatible boot loader' jmp hang