Jasper Ji

博观而约取,厚积而薄发。

《Orange'S:一个操作系统的实现》笔记

2021-03-24 15:18

使用FreeDOS运行COM

FreeDOS运行COM文件记录,主要是拷贝软盘里面,然后执行。

sudo mount -o loop xxx.img /mnt/floppy # 挂载,挂在失败的话在mnt目录下创建floppy文件夹
sudo cp xxx.com /mnt/floppy/ # 拷贝文件
sudo umount /mnt/floppy # 卸载

网上书中的源码中的freedos.img并不包含debug这样的工具,不过debug并不能调试保护模式的代码。

bochsrc配置文件中添加

magic_break: enabled = 1

最后在汇编代码需要断点的地方添加

xchg bx, bx

在FreeDOS执行COM文件后,就会进入到bochs调试。

Bochs

有用的调试系统的命令
sreg # 显示段寄存器的内容
info gdt  # 显示GDTR寄存器的内容
creg # 显示CR0寄存器的内容
print-stack # 查看栈的内容

参考

如何调试操作系统

Comments