• windows7 下Bochs 运行helloworld


    一.工具配置

    二.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

    .ochs.exe -f bochsrc

     

    image.png

    这样就可以看到已经成功运行啦!!!可以看到红色的输出"Hello,OS world!"

     

    image.png

     

     作者:夏liao夏天
    链接:https://www.jianshu.com/p/4ede2d1e467c
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    Oracle列转行函数使用
    JavaScript笔记整理
    23种设计模式之桥梁模式
    23种设计模式之状态模式
    23种设计模式之解释器模式
    23种设计模式之备忘录模式
    23种设计模式之访问者模式
    23种设计模式之观察者模式
    23种设计模式之组合模式
    23种设计模式之适配器模式
  • 原文地址:https://www.cnblogs.com/codecamel/p/9785715.html
Copyright © 2020-2023  润新知