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