StupidOS/boot/efi/bootia32.asm

57 lines
956 B
NASM
Raw Normal View History

;; File: bootia32.asm
2024-03-21 10:42:18 +00:00
format PE DLL EFI at 10000000h
entry efimain
section '.text' code executable readable
include '../common/const.inc'
include '../common/macro.inc'
2024-03-21 10:42:18 +00:00
include 'uefi.inc'
;; Function: efimain
;;
;; Parameters:
;;
;; [esp+4] - handle
;; [esp+8] - <EFI_SYSTEM_TABLE>
;;
;; Returns:
;;
;; eax - efi status
;;
2024-03-21 10:42:18 +00:00
efimain:
mov eax, [esp+4]
mov [handle], eax
mov eax, [esp+8]
mov [system_table], eax
mov ebx, [eax + EFI_SYSTEM_TABLE.ConOut]
mov eax, 1
push eax
push ebx
call [ebx + EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset]
add esp, 8
push hello_msg
push ebx
call [ebx + EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString]
add esp, 8
jmp $
xor eax, eax
2024-03-21 10:42:18 +00:00
ret
section '.reloc' fixups data discardable
section '.data' data readable writeable
hello_msg du 'StupidOS EFI Bootloader', 13, 10, 0
2024-04-02 10:03:47 +00:00
; Search path: / /boot /boot/efi
kernel_file du 'vmstupid.sys', 0
2024-03-21 10:42:18 +00:00
handle dd ?
system_table dd ?