kernel.pas
Code: Select all
unit kernel;
INTERFACE
procedure startOS;
IMPLEMENTATION
procedure startOS;[public,alias:'startOS'];
begin
{code :) in future ;P}
end;
begin
end.
Code: Select all
[BITS 32]
[SECTION .text]
EXTERN code,bss,end
mboot:
dd 0x1BADB002 ;
dd 0x10001 ;
dd -(0x1BADB002+0x10001) ;
dd mboot ;
dd code
dd bss
dd end
dd _start
GLOBAL _start
EXTERN _startOS
L6:
jmp L6
_start:
call _startOS
[SECTION .bss]
kstack: resd 1024
[SECTION .data]
gdt_descr:
dw 256*8-1
dd _gdt
GLOBAL _gdt
_gdt:
dd 0,0
dd 0x0000FFFF,0x00CF9A00
dd 0x0000FFFF,0x00CF9200
dd 0,0
times 254 dd 0,0
ld.exe ld start.o kernel.o kernel.bin Not act :/