「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

时间:2022-08-12 14:31:34

在笔者上一篇的文章《1.1前期准备工作》中有详细介绍前期准备工作

 

笔者吐槽:虽然作者说的是十分钟完成的操作系统,但是笔者却在纠结了很多个十分钟后终于纠结完了,希望笔者的经历能够帮到大家。

一、路径配置

需要在建立一个纯英文路径进行存储我们自己做的操作系统,不要问我为什么

笔者的路径是“G:\OS\One OS\chapter1\a”

二、编写操作系统

1.选择一款自己喜欢的汇编代码编辑器,笔者用的是TextPad,也可以用记事本

2.“G:\OS\One OS\chapter1\a”路径下建立“boot.asm”文件

3.用汇编代码编辑器打开“boot.asm”文件,写入以下代码

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, One OS!" ; 想要开机后在屏幕上显示的字符串

times
510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节

dw
0xaa55 ; 结束标志

 

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

4.保存并关闭“boot.asm”文件

三、编译操作系统

1.打开已安装好的NASM目录下的\nasmpath.bat

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

2.将路径改到“boot.asm”目录,并将“boot.asm”文件编译成“boot.bin”文件

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

四、制作虚拟软盘

1.将之前下载的光盘资料中\Tinix\chapter1\a\TINIX.IMG文件拷贝到存放“boot.asm”的目录下并改名为“One OS.IMG”,笔者的目录是“G:\OS\One OS\chapter1\a”

2.打开之前安装好的FloppyWriter.exe,做以下操作

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

五、运行操作系统

1.为虚拟机添加我们刚才做好的虚拟软盘

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

2.双击启动虚拟机

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

 「操作系统」《自己动手写操作系统》1.2 “十分钟”完成的操作系统

好了,我们花了很多个十分钟终于做好并启动了自己做的操作系统

 

原创文章,转载请注明出处

http://www.cnblogs.com/777777-716/p/5003964.html