一個小操作系統

转载 2012年03月30日 20:00:24

代码1-1  \chapter1\a\boot.asm
一个“操作系统”可以只有20行代码。
把下面这段代码用NASM编译一下:
nasm boot.asm –o boot.bin

org 07c00h ; 告诉编译器程序加载到7c00处
 mov ax, cs
 mov ds, ax
 mov es, ax
 call DispStr ; 调用显示字符串例程
 jmp $ ; 无限循环
DispStr:
 mov ax, BootMessage
 mov bp, ax ; es:bp = 串地址
 mov cx, 16 ; cx = 串长度
 mov ax, 01301h ; ah = 13, al = 01h
 mov bx, 000ch ; 页号为0(bh = 0) 黑底红字(bl = 0Ch,高亮)
 mov dl, 0
 int 10h ; 10h 号中断
 ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为
; 512字节
dw 0xaa55 ; 结束标志


我们就得到了一个512B的boot.bin,使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。好了,你的第一个“操作系统”就已经完成了。这张软盘已经是一张引导盘了。
把它放到你的软驱中重新启动计算机,从软盘引导,你看到了什么?

 

Liferay6全局设置(一)

 Settings链接包含大部分门户的全局设置。主要包括以下内容: General:配置全局设置,例如company name(公司名称), domain(域), the virtual ho...
  • fengxing_2
  • fengxing_2
  • 2014年12月11日 15:07
  • 1335

struts2框架中Action必须实现execute方法?和Struts参数传递

分两种情况。 1)如果你的Action类是继承自ActionSupport的话,确切的说是重写了execute方法,ActionSupport里的默认实现 就是返回"success"视图。因此,你...
  • ItJavawfc
  • ItJavawfc
  • 2014年10月30日 17:39
  • 1967

新书《500个设计史上最重要的图像》:用图像解读平面设计印刷史

编者按:Phaidon出版了新书《500个设计史上最重要的图像》,本书记录了印刷图像的辉煌历史,也通过一种极为特殊的方式把图形设计历史串联起来,绘制了一幅设计史的完整画卷。本文编译自Rian Dund...
  • bKMk01MZ3w
  • bKMk01MZ3w
  • 2018年01月11日 23:21
  • 52

html5实现表单内的上传文件框,建立一个可存取到该file的url。

HTML5上传图片预览 请选择图片文件:JPG/GIF //hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建...
  • mrjiaxing
  • mrjiaxing
  • 2015年09月17日 15:16
  • 2030

quartz定时任务时间设置

链接地址:http://www.cnblogs.com/skyblue/p/3296350.html 这些星号由左到右按顺序代表 :     *    *     *     *    *     ...
  • lms1256012967
  • lms1256012967
  • 2016年09月05日 16:57
  • 2157

Mat类的成员函数(中文+英文)

转自:http://blog.csdn.net/giantchen547792075/article/details/9107877 译文参考The OpenCV Reference Manua...
  • songyimin1208
  • songyimin1208
  • 2016年01月20日 08:28
  • 1413

四個出人意表的 Library

當整個編程世界都在奉行"標準做法"的時候,總有一些人會做出一些瘋狂的東西,有些的確很怪雞(如 Whitespace...用空格來寫程式),但有些卻為編程界帶來新思維,以下四個 Library 就給我帶...
  • dukelandhk
  • dukelandhk
  • 2013年03月11日 11:07
  • 400

鸟哥的Linux私房菜 基础学习篇读书笔记(1):Linux是什么

上一篇作者讲述了计算机系统的基础知识,这章开始正式进入Linux,首先将讲述Linux的发展历史。         1,Linux 是什么?       首先本质上Linux就是一组软件,而且是一...
  • fuchencong
  • fuchencong
  • 2014年03月12日 21:20
  • 887

[PYTHON]在一個figure中畫兩組圖,以及兩個colorbar

[PYTHON]在一個figure中畫兩組圖,以及兩個colorbar
  • ssy8stephy
  • ssy8stephy
  • 2016年11月18日 14:45
  • 1317

HTML5-個人中心

個人中心                                             个人中心                       ...
  • yqj234
  • yqj234
  • 2016年08月26日 16:08
  • 196
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一個小操作系統
举报原因:
原因补充:

(最多只允许输入30个字)