《自己动手写操作系统》 第一章总结
俗话说万事开头难,为了督促自己能在假期好好学习,打算认真做一下学习笔记。先记录一下在学习过程中遇到的问题和解决方案:
书籍和工具下载地址
在安装完nasm之后需要将其安装路径添加到系统环境变量中
工具选择
- 代码编辑器——Sublime Text
- 汇编编辑器——NASM
- 程序加载软件——vmware
代码实现
- 代码部分
org 07c00h ;告诉编译器程序加载到7c00处 ; org 0100h 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 ;结束标志
编译与运行
首先将asm文件编译成bin文件:
nasm [文件名].asm -o [输出文件名].bin
因为是使用的软盘,所以需要将bin文件再转化成img文件,可以直接使用书中提供的工具FloppyWriter。
- 运行环境
书本作者使用的是Virtue PC作为工作环境,不过我还是更习惯使用vmware。
- 运行过程
书本上是使用软盘绝对扇区读写工具将编译好的bin文件写入空白软盘的第一个扇区,但是现在软盘已经很难找了。但是好在vmware可以编辑虚拟机设置添加软盘这类硬件。如下:
- 首先选择“编辑虚拟机设置”

- “添加”

- 添加软盘类型的硬件

- 使用软盘映像

- 选择已经生成的IMG文件,点击确定

- 这样就多了一个软盘的硬件

运行结果
第一个程序运行成功!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177989.html原文链接:https://javaforall.net
