windows7 下Bochs 运行helloworld
一.工具配置
- NASM sourceforge下载地址
- Bochs sourceforge下载地址
- Cygwin(为了使用linux的一些常用命令)下载地址
二.20行代码的一个"操作系统"
代码boot.asm
1 org 07c00h ; 告诉编译器程序加载到 7c00处 2 mov ax, cs 3 mov ds, ax 4 mov es, ax 5 call DispStr ; 调用显示字符串例程 6 jmp $ ; 无限循环 7 DispStr: 8 mov ax, BootMessage 9 mov bp, ax ; es:bp = 串地址 10 mov cx, 16 ; cx = 串长度 11 mov ax, 01301h ; ah = 13, al = 01h 12 mov bx, 000ch ; 页号为 0(bh = 0) 黑底红字(bl = 0Ch,高亮) 13 mov dl, 0 14 int 10h ; 10h 号中断 15 ret 16 BootMessage: 17 db "Hello, OS world!" 18 times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为 19 dw 0xaa55 ; 结束标志
把这段代码用NASM编译一下:
nasm boot.asm -o boot.bin
在当前目录下边会生成一个512B的boot.bin.一个"操作系统"就已经完成了
三.使用bximage创建一个软盘映像
(这一步如果没有处理好,执行打印Hello World打印会乱码!)
进入Bochs的安装目录,启动命令行(cmd或powershell)
画横线的表示要手动输入,箭头表示直接按回车键就好了
image.png
这样就会在当前目录生成a.img
四.使用Cygwin将引导扇区写进软盘
运行Cygwin.bat,进入boot.bin所在的目录(我存放在了bochs的安装目录),输入命令:
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
image.png
五.使用Bochs启动刚刚写好的"操作系统"
1.写Bochs的配置文件bochsrc
bochsrc保存在Bochs的安装目录下
image.png
bochsrc代码
1 megs:32 2 3 romimage:file=$BXSHARE/BIOS-bochs-latest 4 vgaromimage:file=$BXSHARE/VGABIOS-lgpl-latest 5 6 floppya:1_44=a.img,status=inserted 7 8 boot:floppy 9 10 log:bochsout.txt 11 12 mouse:enabled=0 13 14 keyboard: keymap=$BXSHARE/keymaps/x11-pc-de.map
2.打开命令行(cmd或者powershell),运行Bochs
.\bochs.exe -f bochsrc
image.png
这样就可以看到已经成功运行啦!!!可以看到红色的输出"Hello,OS world!"
image.png
作者:夏liao夏天
链接:https://www.jianshu.com/p/4ede2d1e467c
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
posted on 2018-10-14 11:25 camelbrand 阅读(1658) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步