码迷,mamicode.com
首页 > 其他好文 > 详细

bochs helloworld程序

时间:2019-12-21 00:28:18      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:创建   bug   tboot   图形化   eset   exit   文件写入   输入   base   

centos6

bochs-2.6.2

 安装好bochs后,将bin目录配置到环境变量中。

 技术图片

 

 

技术图片

1、boot.img文件

 bximage 

创建fd软盘

1.44m

boot.img

 

2、boot.asm文件

  1. org 0x7c00
  2.  
  3. BaseOfStack equ 0x7c00
  4.  
  5. Label_Start:
  6.  
  7. mov ax, cs
  8. mov ds, ax
  9. mov es, ax
  10. mov ss, ax
  11. mov sp, BaseOfStack
  12.  
  13. ;======= clear screen
  14.  
  15. mov ax, 0600h
  16. mov bx, 0700h
  17. mov cx, 0
  18. mov dx, 0184fh
  19. int 10h
  20.  
  21. ;======= set focus
  22.  
  23. mov ax, 0200h
  24. mov bx, 0000h
  25. mov dx, 0000h
  26. int 10h
  27.  
  28. ;======= display on screen : Start Booting......
  29.  
  30. mov ax, 1301h
  31. mov bx, 000fh
  32. mov dx, 0000h
  33. mov cx, 10
  34. push ax
  35. mov ax, ds
  36. mov es, ax
  37. pop ax
  38. mov bp, StartBootMessage
  39. int 10h
  40.  
  41. ;======= reset floppy
  42.  
  43. xor ah, ah
  44. xor dl, dl
  45. int 13h
  46.  
  47. jmp $
  48.  
  49. StartBootMessage: db "Start Boot"
  50.  
  51. ;======= fill zero until whole sector
  52.  
  53. times 510 - (- $$) db 0
  54. dw 0xaa55
  55.  

 

3、boot.bin文件

  1. dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc

 

4、bin文件写入img

  1. dd if=boot.bin of=boot.img bs=512 count=1 conv=notrunc

 

5、bochsrc.txt文件

  1. floppya: 1_44="boot.img", status=inserted #Use FLoppy Disk A
  2.  
  3. boot: floppy
  4.  
  5. display_library: x
  6.  
  7. #display_library:sdl

 

6、指定文件启动虚拟机

  1. bochs -f bochsrc.txt

 技术图片

 

 

技术图片

默认启动6

 

7、命令行调试

命令行中输入 c,或者 continue,进行调试

技术图片

 技术图片

 

 

输入exit退出

 

8、图形化调试

修改启动配置文件bochsrc.txt如下

  1. floppya: 1_44="boot.img", status=inserted #Use FLoppy Disk A
  2. boot: floppy
  3. display_library: x, options="gui_debug"
  4. #display_library:sdl
  5.  

 运行

  1. bochs -f bochsrc.txt

 就启动了图形化的调试界面,可以点击不同的按钮来调试

技术图片

 

技术图片

bochs helloworld程序

标签:创建   bug   tboot   图形化   eset   exit   文件写入   输入   base   

原文地址:https://www.cnblogs.com/kevinlights/p/12075495.html

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