码迷,mamicode.com
首页 > Windows程序 > 详细

windows7 下Bochs 运行helloworld

时间:2018-10-14 13:52:57      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:-o   http   targe   board   style   目录   mes   ali   alt   

一.工具配置

二.20行代码的一个"操作系统"

代码boot.asm

 1 mov ax,cs                      ; 告诉编译器程序加载到7c00处
 2 mov ds,ax
 3 mov es,ax
 4 call DispStr                   ; 调用显示字符串例程
 5 jmp $
 6 DispStr:
 7 mov ax,BootMessage
 8 mov bp,ax                    ; es:bp = 串地址
 9 mov cx,16                    ; cx = 串长度
10 mov ax,01301h                ; ah = 13,al = 01h
11 mov bx,000ch                 ; 页号为0(bh=0) 黑底红字(b1=0ch,高亮)
12 mov dl,0
13 int 10h                      ; 10h号中断
14 ret
15 BootMessage:  db  "Hello,OS world!"
16 times 510-($-$$)  db  0      ; 填充剩下的空间,使生成的二进制代码恰好为512字节
17 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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

windows7 下Bochs 运行helloworld

标签:-o   http   targe   board   style   目录   mes   ali   alt   

原文地址:https://www.cnblogs.com/codecamel/p/9785715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!