30天自制操作系统 第一天 从计算机结构到汇编程序入门

本文介绍了一种使用二进制编辑器及汇编工具编写操作系统启动程序的方法,并通过虚拟机VM加载自定义软盘镜像helloos.img实现启动。文章详细记录了从创建虚拟机到修改启动界面的过程。

一,先动手操作

    这个故事的一开始,作者先用了一个二进制编辑器和一个汇编工具写了操作系统的启动程序   helloos.img,在这个软盘已成为传说的时代,书中使用了PC模拟器 QEMU,书中方法就不介绍了,其实直接使用VMware也是可以达到同样效果的。操作步骤如下:

列出其中几个关键步骤:系统选择:


虚拟机创建好,找到软驱:


在软驱连接到helloos.img:



启动后的效果图:我把hello world 改成了hello,njupt. njupt




修改方法一,直接修改二进制文件(ASCII码6E,6A,75,70,74)


第二种方法:修改汇编程序:

; 信息显示部分

        DB        0x0a, 0x0a        ; 2个换行
        DB        "hello, njupt"
        DB        0x0a            ; 换行
        DB        0

        RESB    0x1fe-$            ; 填写0x00,直到0x001fe

        DB        0x55, 0xaa

很遗憾第一天的汇编代码没看懂,不知道为什么他定义了一系列DB是怎么运行的。这个问题先记下。


第一天我们记录了计算机开机加载IPL(initial program loader,一个nas汇编程序),包括IPL代码(helloo.nas),编译生成helloos.img文件,书上用虚拟机QEMU加载helloos.img,我们选择使用VM虚拟机装载软盘镜像helloos.img.

 由于我们使用VM虚拟机,我们只需!cons_nt.bat批文件打开命令行,使用asm.bat将源文件编译成目的文件helloos.img即可使用。


helloos2文件夹结构如下










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值