2023-01-15 19:25:25 +00:00
|
|
|
[BITS 32]
|
|
|
|
|
|
|
|
%include "base.inc"
|
|
|
|
|
|
|
|
MULTIBOOT_MAGIC equ 0x1BADB002
|
|
|
|
MULTIBOOT_ALIGN equ 1 << 0
|
|
|
|
MULTIBOOT_MEMINFO equ 1 << 1
|
|
|
|
MULTIBOOT_FLAGS equ MULTIBOOT_ALIGN | MULTIBOOT_MEMINFO
|
|
|
|
|
|
|
|
section .multiboot
|
|
|
|
align 4
|
|
|
|
dd MULTIBOOT_MAGIC
|
|
|
|
dd MULTIBOOT_FLAGS
|
|
|
|
dd -(MULTIBOOT_MAGIC + MULTIBOOT_FLAGS)
|
|
|
|
|
|
|
|
section .bss
|
|
|
|
align 16
|
|
|
|
stack_bottom:
|
|
|
|
resb 16384
|
|
|
|
stack_top:
|
|
|
|
|
|
|
|
section .text
|
|
|
|
global entry
|
|
|
|
entry:
|
|
|
|
mov esp, stack_top
|
|
|
|
|
|
|
|
cli
|
|
|
|
|
|
|
|
extern serial_init
|
|
|
|
call serial_init
|
|
|
|
|
2023-01-17 10:35:11 +00:00
|
|
|
LOG msg_hello_world
|
|
|
|
|
2023-01-15 19:25:25 +00:00
|
|
|
extern setup_gdt
|
|
|
|
call setup_gdt
|
|
|
|
|
2023-01-17 10:35:11 +00:00
|
|
|
extern setup_pic
|
|
|
|
call setup_pic
|
|
|
|
|
2023-01-15 19:25:25 +00:00
|
|
|
extern setup_idt
|
|
|
|
call setup_idt
|
|
|
|
|
2023-01-17 10:35:11 +00:00
|
|
|
;extern setup_paging
|
|
|
|
;call setup_paging
|
2023-01-15 19:25:25 +00:00
|
|
|
|
2023-01-17 14:36:21 +00:00
|
|
|
int3
|
|
|
|
|
2023-01-15 19:25:25 +00:00
|
|
|
LOG file
|
|
|
|
|
2023-01-17 14:36:21 +00:00
|
|
|
cli
|
2023-01-15 19:25:25 +00:00
|
|
|
hang:
|
|
|
|
hlt
|
|
|
|
jmp hang
|
|
|
|
|
2023-01-17 10:35:11 +00:00
|
|
|
|
|
|
|
section .rodata
|
|
|
|
|
|
|
|
msg_hello_world db "StupidOS ", STUPID_VERSION, 0
|
2023-01-15 19:25:25 +00:00
|
|
|
file db __FILE__, 0
|