免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12542 | 回复: 71
打印 上一主题 下一主题

操作系统学习笔记——引导 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-13 14:14 |只看该作者 |倒序浏览
由于没有买到《linux设备驱动程序》,但是老天对我还好,买到了本《自己动手写操作系统》,我跟着于渊前辈写的那些内容进行操作,中间有段没有弄明白,所以研究了一阵子,但是后来没有成功,结果就来这里问大家了,现在清楚了,也明白了。(在flw前辈的帮助下)
同时也感谢回答过我的问题的各位牛银!~~
把引导代码帖出来(代码非本人写的,是从书上抄的,把信息改了改)。
  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:                db        "QQ:314064349"
  17. times         510-($-$$)        db        0        ; 填充剩下的空间,使生成的二进制代码恰好为512字节
  18. dw         0xaa55                                ; 结束标志
复制代码



用nasm编译成bin,命令
  1. c:\>;cd nasm\bin
  2. c:\>;nasm boot.asm -o boot.bin
复制代码


下面说明一下上面的命令

nasm是一种汇编语言的编译器(可以在win下用,linux下用等很多环境下使用,在baidu中,或者找我要,可以得到)

-o  是nasm里的一个命令参数
用过gcc的朋友会知道,gcc下的命令也如此:
  1. [1jjk@linux.com]$gcc 1jjk.c -o 1jjk
复制代码

这个  -o  和gcc里的 -o意思是一样的,最后的那个boot.bin是生成的目标文件,是二进制文件。

下面说说其他的一些命令:

-o参数:指定输出文件名
-f参数:指定输出文件格式
-l参数:输出列表文件
-E参数:输出错误信息到文件中
-s参数:输出错误信息到屏幕
-i参数:指定头文件路径
-p参数:预编译头文件
-d参数:预编译宏
-u参数:取消宏定义
-e参数:只预处理
-a参数:根本不预处理
-w参数:允许或禁止汇编警告信息

nasm更详细的说明书可以在我的主页里面找到:http://www.zggo.com/xoops
boot.asm是上面的那些汇编语言的源代码文件(在linux源代码会看到),
然后用打开vmware,将“软驱”选项设置为“选用软驱磁盘映像”就可以了,然后把生成的bin放进去就可以了

下面给大家放几张图片看一看!



参考书籍《自己动手写操作系统》作者:于渊

接受建议,改了一下!有笔误,请大家多多指点,多多批评!

4.jpg (39.89 KB, 下载次数: 52)

4.jpg

3.jpg (67.21 KB, 下载次数: 53)

3.jpg

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-09-13 14:31 |只看该作者

操作系统学习笔记——引导

>;>;用nasm编译成bin
怎么编译?开关选项用什么?每个选项分别是什么意思?

>;>;然后用打开vmware,将“光驱”选项设置为“选用软驱磁盘映像”就可以了,
>;>;然后把生成的bin放进去就可以了
应该是软驱才对。

还有啊,你碰到的问题都有哪些?尽量也写一写。
如果别的新手(当然是有相关知识基础的)能够按照你的这篇文章来做出自己的东西,那么这篇文章才算是成功的。

临了,建议附上贴图一副,以说明你的程序能够达到什么样的效果。

论坛徽章:
0
3 [报告]
发表于 2005-09-13 14:46 |只看该作者

操作系统学习笔记——引导

那本书在下见过
感觉就是汇编堆出来的
不懂汇编的我买了==浪费钱

论坛徽章:
0
4 [报告]
发表于 2005-09-13 14:57 |只看该作者

操作系统学习笔记——引导

原帖由 "bleem1998" 发表:
那本书在下见过
感觉就是汇编堆出来的
不懂汇编的我买了==浪费钱


不仅仅是汇编!感觉那本书写的很好,因为我这么菜的菜鸟都能看懂!那其他有点功底的前辈就更不用说了,是吧?

论坛徽章:
0
5 [报告]
发表于 2005-09-13 15:43 |只看该作者

操作系统学习笔记——引导

菜鸟是说我吧,我知道那本书,等我看了再说说意见吧!

论坛徽章:
0
6 [报告]
发表于 2005-09-13 15:43 |只看该作者

操作系统学习笔记——引导

我来跟图

xx.jpg (15.34 KB, 下载次数: 43)

xx.jpg

论坛徽章:
0
7 [报告]
发表于 2005-09-13 15:55 |只看该作者

操作系统学习笔记——引导

哦 ,不错呀,我还以为写操作系统的没有几个,现在发现了,有个和1jjk  有相同的爱好了,^_^,明天借我看看你那本书,说什么也要跟的上社会呀!!

论坛徽章:
0
8 [报告]
发表于 2005-09-13 15:57 |只看该作者

操作系统学习笔记——引导

这本书怎么样?

论坛徽章:
0
9 [报告]
发表于 2005-09-13 16:14 |只看该作者

操作系统学习笔记——引导

像我这样的菜菜都看懂了,你说是不是好书呢?

论坛徽章:
0
10 [报告]
发表于 2005-09-13 16:49 |只看该作者

操作系统学习笔记——引导

那本书看了样章,感觉没意思,没什么新东西。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP