; ==================================
;; 文件: KERNEL.asm
;; 作用: 系统在进入保护模式之前
;; 要进行的初始化操作包括:
; 1.载入32位系统文件system.img
; 2.设置GDT和中断(空的)在32位的时候再设置
;; 创建日期:2006/04/30 flyback
;; 修改日期:2006/05/07 flyback
;; http://blog.youkuaiyun.com/flyback
;; fly-back@163.com
; ==================================
global start
extern _pntchr
extern _cls
extern _NextLine
extern _readsystem
[section .text]
[bits 16]
start:
mov ax, cs
mov ds, ax
mov ss, ax
mov sp, 0xfff0
sti
call _cls
lea si, [dword KernelLoad]
call _pntchr
call _NextLine
lea si, [dword welcomemsg]
call _pntchr
call _NextLine
call _readsystem
jmp SYSSEG:SYSOFF
jmp $
segment .data
welcomemsg db 'Welcome to DIY OS!'
CopyRight db ' Create by http://blog.youkuaiyun.com/flyback.',0
KernelLoad db 'KERNEL.img was loaded!',0
SYSSEG equ 0x9000
SYSOFF equ 0x1000