【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】

今天开始学习于渊著《Orange's 一个操作系统的实现》

准备工作:

1、下载NASM,下载链接

2、下载rawrite32,下载链接

3、从淘宝买了两张空白软盘和一个软驱(U盘也可以,只是我的四个U盘都落在了学校,今年疫情也不知道啥时候开学)

我用的win10

实现了计算机显示器显示出红色的“Hello,OS world!”

第一步

新建一个txt文档,写入这些汇编代码:

org 07c00h
mov ax,cs
mov ds,ax
mov es,ax
call DispStr
jmp $
DispStr:
mov ax,BootMessage
mov bp,ax
mov cx,16
mov ax,01301h
mov bx,000ch
mov dl,0
int 10h
ret
BootMessage:	db	"Hello, os world!"
times 510-($-$$)	db	0
dw 0xaa55

保存后把txt文档改为.asm格式(命名为了boot)

接下来需要用NASM编译它

第二步

将NASM的这两个.exe文件和刚刚写好的.asm文件放在同一个文件夹下

我放在了这里:C:\Users\DELL\nasm

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第1张图片

然后win+R,输入cmd,进入命令窗口输入命令敲回车即可完成编译

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第2张图片

此时文件夹下多了boot.bin文件

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第3张图片

第三步

插入软盘(新软盘可能是只读的,只需要将软盘右下角这里掰过来就好)

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第4张图片

第四步

打开rawrite32.exe,选择逻辑卷A盘,然后写入即可成功

(如果不成功,那你的软盘很可能是只读状态,你需要按上面操作一下)

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第5张图片

此时,这张软盘(或U盘)既是系统引导盘了,再重新启动PC时只需选择“U盘启动”即可运行成功

第五步

将软盘依然插在电脑上然后重新启动计算机,计算机启动时按F12即会直接进入你的“操作系统”。

(此步骤我用戴尔的笔记本没有成功,直到换了联想的台式机试了一下……)

【第一天】于渊著《Orange's 一个操作系统的实现》【学习笔记】_第6张图片

 

PS:现在并不是一个完整的OS,只是一个简单的引导扇区,但至少它是在裸机上运行的。

有时间我会继续更新,over。

你可能感兴趣的:(大学)