《自己动手写操作系统》之 10分钟完成最小的操作系统

准备工作

  • nasm 汇编编译器
  • Floppywriter (File to image) 转换器
  • VMware 虚拟机

步骤

先创建一个boot.asm的文件,我是用VsCode写的,记事本也可以。(还一直以为nasm是编辑器,结果是编译器,搜了半天教程。。

	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				; 结束标志

一开始自己照着书中打了一遍,结果格式写错了,后面找到了网上的源码,复制之后,在nasm中输入nasm boot.asm -o boot.bin 成功!
在这里插入图片描述
文件路径一定要与编译器路径相同,不然会报错找不到文件
我是先在编译器路径下创建了文件,等生成了boot.bin文件之后再剪切出去的。

之后就可以用转换器做转换了,转换前先创建TINUX.IMG文件,然后将boot.bin文件放进去。
在这里插入图片描述
之后打开VMware虚拟机,创建新的虚拟机。
在这里插入图片描述
选择经典(推荐)即可。然后再下一个页面中,先选择浏览,将自定义好的TINIX.IMG放进来,然后会提示无法检测,我们随后点击下方稍后的按钮,点击下一步。
点击其它,选择其它。点击下一步。
在这里插入图片描述
然后选择自己想放置的位置,下一步,分配内存。
点击完成后,蹦出以下界面。(我这个是退出来之后的,与初始有些许不同)
找到“虚拟机”->“设置”。
在这里插入图片描述
点击添加。
在这里插入图片描述
选择软盘驱动器,点击完成。
在这里插入图片描述
最后点击软盘,找到之前写好的TINIX.IMG文件的位置,点击创建。
在这里插入图片描述

结果图

点击“开启此虚拟机”
你就可以看到自己写下的第一个“最简单的操作系统”,在虚拟机下开始运行了。
在这里插入图片描述
——纸上得来终觉浅,绝知此事要躬行。 😐

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值