在win7下使用nasm编译asm系统源码并在VMware上运行的图文教程

When Do We Write Our Chinese OS ?

1.工欲善其事,必先利其器!

先下载需要的文件:虚拟机(用来运行你编译出来的系统),nasm(用来编译源码),notepad++,

虚拟机我用的是vmware,我这里有破解汉化版的,下载地址:http://pan.baidu.com/s/1i3Hw4gX,nasm我也有,下载地址http://pan.baidu.com/s/1gdKizWR,notepad++就不说了,工具有了就是安装,这都很简单,不说了。

2.写代码

在nasm的安装目录下创建一个.asm文件,举例为hello-os.img,添加如下代码:

org  07c00h  ;  告诉编译器程序加载到 7c00处 

                       mov   ax ,   cs  

                       mov   ds ,   ax  

                       mov   es ,   ax  
                      
                       call  DispStr  ;  调用显示字符串例程 

                       jmp  $  ;  无限循环 

                DispStr :  

                       mov   ax ,  BootMessage 
                      
                       mov   bp ,   ax   ;   es : bp   =  串地址 

                       mov   cx ,  16  ;   cx   =  串长度 

                       mov   ax ,  01301h  ;   ah   =  13 ,   al   =  01h 
                      
                       mov  bx ,  000ch  ;  页号为 0 ( bh   =  0 )  黑底红字 ( bl   =  0Ch , 高亮 )  

                       mov   dl ,  0 
                      
                       int  10h  ;  10h 号中断 

                       ret  

                BootMessage :  db  "Hello, OS world!"  
                
                     times 510 - ( $ - $ $ )  db 0  ;  填充剩下的空间,使生成的二进制代码恰好为 

                                                     ;  512字节 
                      dw 0xaa55  ;  结束标志

然后保存,打开nasmpath.bat,运行nasm hello-os.asm -o hello-os.img命令

运行后会在你的nasm目录下生成一个hello-os.img文件。

3.使用虚拟机运行你的系统

打开虚拟机,点击创建新的虚拟机
记住在这一步的时候勾选稍后安装操作系统,然后就都选next。
创建好了之后点击编辑虚拟机设置

点击添加
然后添加软盘驱动器
勾选使用软盘映像,点击下一步

添加你之前编译好的img文件,也就是你的系统

然后保存,开启虚拟机,你会发现那鲜红的hello,OS world!


第一次写博客,难免会出错,如果发现,请及时告知,不喜勿喷。我写博客的目的只是为了帮助新手入门,我也刚会编译,其中的辛酸很痛苦。。。
抛砖引玉,希望中国能早日做出属于自己的OS!
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值