rdos/boot/kernel.asm

64 lines
875 B
NASM
Raw Normal View History

cpu 8086
org 0x7C00
%include "inc/bpb.asm"
%include "inc/mbr.asm"
2020-10-13 22:10:23 +02:00
%include "inc/fcb.asm"
%include "inc/dpt.asm"
; kernel stack size in words
%define stacksize 512
init: cli
xor ax, ax
mov ds, ax
mov es, ax
mov ss, ax
mov sp, ( stack+stacksize )
call printf
%defstr VERSIONSTR VERSION
db "RDOS ", VERSIONSTR, 0x0A, 0x0D, 0
push dx
call dinit
pop dx
2020-10-13 22:10:23 +02:00
cmp dl, 0x80
jc .k
sub dl, (0x80-2)
.k: mov [defdrv], dl
2020-12-26 18:44:48 +01:00
call logdrv
xor ax, ax
xor dx, dx
call maprd
inc word [dskbuf+0x82]
2020-12-26 18:44:48 +01:00
push word [dskbuf+0x82]
call dirty
call flush
2020-10-11 23:33:01 +02:00
2020-12-26 18:44:48 +01:00
call printf
db "Current run: ",2,0x0A,0x0D,0
hlt: hlt
jmp hlt
2020-04-20 19:13:06 +02:00
%include "kernel/far.asm"
2020-10-13 22:10:23 +02:00
%include "kernel/fcb.asm"
%include "kernel/drive.asm"
%include "kernel/printf.asm"
2020-10-13 22:10:23 +02:00
section .data
testfcb: db 0
db "HELLO ", "COM"
times 30 db 0
2020-04-23 21:36:20 +02:00
section .bss
stack: resb stacksize