Chinaunix首页 | 论坛 | 博客
  • 博客访问: 576488
  • 博文数量: 99
  • 博客积分: 3976
  • 博客等级: 中校
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-15 15:48
文章分类
文章存档

2009年(1)

2008年(5)

2007年(31)

2006年(58)

2005年(4)

分类: C/C++

2005-09-13 14:16:18

由于没有买到《linux设备驱动程序》,但是老天对我还好,买到了本《自己动手写操作系统》,我跟着于渊前辈写的那些内容进行操作,中间有段没有弄明白,所以研究了一阵子,但是后来没有成功,结果就来这里问大家了,现在清楚了,也明白了。(在flw前辈的帮助下)
同时也感谢回答过我的问题的各位牛银!~~
把引导代码帖出来(代码非本人写的,是从书上抄的,把信息改了改)。
代码:
   org   07c00h         ; 告诉编译器程序加载到7c00处

由于没有买到《linux设备驱动程序》,但是老天对我还好,买到了本《自己动手写操作系统》,我跟着于渊前辈写的那些内容进行操作,中间有段没有弄明白,所以研究了一阵子,但是后来没有成功,结果就来这里问大家了,现在清楚了,也明白了。(在flw前辈的帮助下)
同时也感谢回答过我的问题的各位牛银!~~
把引导代码帖出来(代码非本人写的,是从书上抄的,把信息改了改)。

代码:
   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   "QQ:314064349"
times    510-($-$$)   db   0   ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw    0xaa55            ; 结束标志



用nasm编译成bin
然后用打开vmware,将“光驱”选项设置为“选用软驱磁盘映像”就可以了,然后把生成的bin放进去就可以了

参考书籍《自己动手写操作系统》
阅读(1051) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~