免费注册 查看新帖 |

Chinaunix

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

elf to bin 问题请教 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2007-04-22 20:50 |显示全部楼层
原帖由 shineyear 于 2007-4-22 13:02 发表于 1楼  
我在LINUX下用AT&T的汇编写了一个BOOT程序,使用GAS和LD生成ELF文件格式
但我的在制作虚拟启动盘的时候(WINDOWS上)却需要.bin格式的文件,应该怎么做?


你用 gas 写 boot 程序

gas 并不适合用来写 boot 程序,据我所知 gas 不能编写 16 位代码

不知,你的 boot 程序是怎么写的,能否给大家看看

当然,通过某些技巧 gas 是可以生成 16 位代码,不过要熟悉指令格式

论坛徽章:
0
2 [报告]
发表于 2007-05-18 19:53 |显示全部楼层
shineyear 兄弟,好好地整理一下,重新贴在版里,偶给你加个精华贴

论坛徽章:
0
3 [报告]
发表于 2007-05-21 21:20 |显示全部楼层
shineyear 兄弟的论述有些不正确之处。

例如:
>> 处理器将执行一些列的初始化,寄存器被设置成非预知状态
每一个寄存器都是有初始值的。具体参看一看 Intel 或 AMD 文档,不是非预知状态


>> 0xf000:0xfff0就是bios入口地址
   BIOS 的入口地址正确来说是:FFFFFFF0。主板芯片组决定 BIOS 哪部分代码被映射到地址 FFFFFFF0。不同的 BIOS 可能不同部分被映射到 FFFFFFF0 去。
   BIOS被映射到 FFFFFFF0 地址是总是一条 jmp far 指令。这时候经过跳转后进入实模式。

>> 这是因为cs寄存器有一个非可见部分,它保存了ffff:0000地址,
    cs 的选择子是:F000, 基地址是:FFFF0000 等。 选择子是可见的,基地址等是不可见的。



不过 shineyear 兄弟动手能力还是挺强的。值得鼓励,再接再励。加精华了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP