实现一个最简单的操作系统

目录

 

1.提前安装好 Bochs,DD 工具,Nasm

2. 使用Bochs的工具bximage.exe

​编辑

3.编译我们的 .asm文件

4.写入操作 

 5.编写bochs配置文件bochsrc.bxrc,保存到bochs所在目录

6.最后一步了,点击文件 


 

1.提前安装好 Bochs,DD 工具,Nasm

DD工具:https://d0.cldisk.com/download/8c523fc179e9d68c0615a7374e3431d9?at_=1748193732817&ak_=b0c903c81a57c173d6dd9076cf9cd9e5&ad_=3233cefa86e8bbf0f51633501d889df1

 Nasm:

https://d0.ananas.chaoxing.com/download/1b9ffedb9de81754472fbfa65930bb1e?at_=1748193732836&ak_=353d032dcd441bc69555c61264805f6e&ad_=bee647f2f11a62d9e7dc0ac51b5eaacd

2. 使用Bochs的工具bximage.exe

bximage.exe 是 Bochs 中用于创建、转换、调整大小以及提交重做日志等操作的磁盘镜像工具

具体操作如下:

(因为我已经做过了,所以这里提示是否要覆盖文件,这里你是第一次创建就不用,直接enter就行)

 

可以看到出现了boot.img文件,这个文件以后我们需要用dd工具去写入我们的

这个由文件Nasm编译而成,可以看后面的操作

3.编译我们的 .asm文件

这里可以随便写名字我写的是boot.asm,这个文件放到Nasm编译工具中。注意编译好的文件boot.bin要放在bochs根目录下,因为方便使用dd工具进行写入我们的boot.img软盘镜像

打开当前目录的cmd,在nasm工具中编译,并输入命令,主要是有这个exe文件就可以使用相关命令(因为什么因为由这个nasm.exe工具,除非配到windows的环境变量当中,或者加入windows的系统变量当中,否则必须在这个目录下,要不然傻乎乎的计算机不认识这个nasm命令.......)

nasm boot.asm -o boot.bin

asm文件代码

org 07C00h    ; 告诉编译器程序加载到0x7C00处
    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 World!"
times 510-($-$$) db 0    ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55               ; 引导扇区标记

 

4.写入操作 

注意这里的目录仍然是我自己的目录,要以你的为准,进行写入操作

打开这个程序输入下面的命令(与上面同理)

dd if="D:\Soft\Bochs\boot.bin" of="D:\Soft\Bochs\boot.img" bs=512 count=1 conv=notrunc

 

 5.编写bochs配置文件bochsrc.bxrc,保存到bochs所在目录

 代码:

megs: 32
romimage: file=D:/Soft/Bochs/BIOS-bochs-latest
vgaromimage: file=D:/Soft/Bochs/VGABIOS-lgpl-latest.bin
floppya: 1_44=boot.img, status=inserted
boot: floppy
log: bochsout.log

 

6.最后一步了,点击文件 

bochsrc.bxrc

成功你好呀世界 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值