码迷,mamicode.com
首页 > 其他好文 > 详细

[操作系统实验]1, 操作系统的引导

时间:2015-08-19 10:59:35      阅读:436      评论:0      收藏:0      [点我收藏+]

标签:

一, 实验内容

    改写bootsect.s和setup.s, 完成如下主要功能:

    1, bootsect.s能够在屏幕上打印一段提示信息"XXX is booting...", 其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等.

    2, bootsect.s能够完成setup.s的载入, 并跳转到setup.s开始地址执行. 

    3, setup.s能够像屏幕输出一行信息 "Now we are in SETUP" 

    4, setup.s能获取至少一个基本的硬件参数(如内存参数、显卡参数、硬盘参数等),将其存放在内存的特定地址,并输出到屏幕上。

    5, setup.s不再加载linux内核, 保持上述信息显示到屏幕上即可

二, 实验步骤

1, 完成bootsect的屏幕输出功能

首先来看完成屏幕显示的关键代码如下:

! 首先读入光标位置
mov    ah,#0x03        
xor    bh,bh
int    0x10

! 显示字符串“AXF OS is booting, my name is Aixiangfei ...”
mov    cx,#50                ! 字符串一共包含50个字符,所以设置cx为50
mov    bx,#0x0007            
mov    bp,#msg1
mov    ax,#0x1301int    0x10

inf_loop:
jmp    inf_loop              ! 后面都不是正经代码了,得往回跳呀

! msg1处放置字符串
msg1:
    .byte 13,10              ! 换行+回车
    .ascii "LZJos is running..."
    .byte 13,10,13,10            ! 两对换行+回车
    !设置引导扇区标记0xAA55
    .org 510
boot_flag:
    .word 0xAA55            ! 必须有它,才能引导

 

[操作系统实验]1, 操作系统的引导

标签:

原文地址:http://www.cnblogs.com/XiangfeiAi/p/4741338.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!