赞
踩
博客网址:www.shicoder.top
微信:18223081347
欢迎加群聊天 :452380935
这一次我们进入操作系统实现的真实编码, 这一次主要是完善对boot.asm文件的全部实现,开始吧。。。
首先我们先来理一下boot.asm需要干什么
Booting System...
loader.asm
所在的区域读入到0x1000
处,然后跳转进入loader.asm
程序loader.asm
程序(这一节我们下次实现)在我们平时编写c语言时候,可以直接使用,但是在boot.asm中,完全就没有可以用库函数,因此为了在开始打印处start boot,我们需要自己实现print
先来看下代码把
mov si, booting call print print: mov ah, 0x0e .next: mov al, [si] cmp al, 0 jz .done int 0x10 inc si jmp .next .done: ret booting: db "Booting System...", 10, 13, 0; \n\r
这段程序主要使用使用BIOS的int 10h
来实现一个print
功能,al
寄存器存储要显示的字符串
因为boot.asm
在主引导扇区,磁盘内存太小,不能在boot.asm
中实现loader.asm
的功能,因此我们将loader.asm
保存在磁盘的一个地方,在b
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。