一個小操作系統

代码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,使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。好了,你的第一个“操作系统”就已经完成了。这张软盘已经是一张引导盘了。
把它放到你的软驱中重新启动计算机,从软盘引导,你看到了什么?

 

阅读更多
文章标签: 编译器 工具 os c
个人分类: others
想对作者说点什么? 我来说一句

POS單機系統

2014年02月06日 17.66MB 下载

ajax樹形菜單例子

2008年06月17日 237KB 下载

成績管理系統

2013年06月14日 272KB 下载

E- 家園個人系統(MVC)

2008年09月22日 15.15MB 下载

maple程序软件

2013年02月22日 10.04MB 下载

BabyLinux製作過程詳解

2007年12月20日 1.3MB 下载

C#吃棋子的小遊戲

2011年11月10日 629KB 下载

TIPTOP系統模組說明-包括關係

2010年06月29日 26KB 下载

web url short

2013年06月05日 18KB 下载

没有更多推荐了,返回首页

不良信息举报

一個小操作系統

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭