33 lines
588 B
NASM
33 lines
588 B
NASM
|
[org 0x7c00]
|
||
|
|
||
|
mov bp, 0x9000
|
||
|
mov sp, bp
|
||
|
|
||
|
mov bx, MSG_REAL_MODE
|
||
|
call writeLn
|
||
|
|
||
|
call switch_to_pm
|
||
|
|
||
|
jmp $
|
||
|
|
||
|
%include "./x16/print/print.asm"
|
||
|
%include "./x32/init/gdt.asm"
|
||
|
%include "./x32/print/print_string_pm.asm"
|
||
|
%include "./x32/init/switch_to_pm.asm"
|
||
|
|
||
|
[bits 32]
|
||
|
|
||
|
BEGIN_PM:
|
||
|
mov ebx, MSG_PROT_MODE
|
||
|
call print_string_pm
|
||
|
|
||
|
jmp $
|
||
|
|
||
|
|
||
|
MSG_REAL_MODE: db "Starting OST OS in 16-bit Real Mode", 0
|
||
|
MSG_PROT_MODE: db "Successfully landed Obsidian Starlight in 32-bit Protected Mode", 0
|
||
|
|
||
|
times 510-($-$$) db 0
|
||
|
dw 0xaa55
|
||
|
|
||
|
;times 2097152 db 0 ; Only for VirtualBox
|