;Copyright 2019 Benji Dial ;Permission to use, copy, modify, and/or distribute this ;software for any purpose with or without fee is hereby ;granted, provided that the above copyright notice and this ;permission notice appear in all copies. ;THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ;ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL ;IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO ;EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, ;INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ;RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ;ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ;ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE ;OF THIS SOFTWARE. global _start extern wrapped_main extern tag_pointer section .mb_header dd 0xe852_50d6;magic dd 0x0000_0000;architecture - i386 dd mb_end - $$;length dd 0x17adaf2a - mb_end + $$;check ;tags dw 0x0001;info request dw 0x0000;flags dd mb_end - $$ - 16 dd 5;boot device dd 6;memory map mb_end: section .text bits 32 _start: add ebx, 8 mov dword [tag_pointer], ebx mov esp, stack call wrapped_main cli halt: hlt jmp halt section .bss info_pointer resd 1 resb 0x1000 - $ + $$ stack: