commit - 0ef78b60eb6409897f2bd36ec8382ffd7a4ca3ec
commit + e3a0381485bcc96a55ade7cb0130c6fa1295a20c
blob - 884330b6194faf72eaf12a1617d8742be1236b92
blob + 6edee2456449c766628b1d757ad82a9c86321223
--- sys/kernel.asm
+++ sys/kernel.asm
lea dx, [i_timer]
call set_irq
- lea bp, [hello]
- call puts
-
lea bp, [convmsg]
call puts
mov ax, word [convmem]
call floppy_init
- sti
- jmp $
+ ; enter userspace, TODO: enter ring 3
+ mov ax, 0x10
+ mov ds, ax
+ mov es, ax,
+ mov ax, sp
+ push 0x10 ; ss
+ push ax ; sp
+ push 0x202 ; flags (EI | 0x02)
+ push 0x08 ; cs
+ push task1 ; ip
+ iret
i_timer:
pusha
popa
iret
+task1:
+ lea bp, [hello]
+ call puts
+ jmp $
+
; al - num
; ah - attr
; dx - offset