用GNU工具集产生一个无格式的二进制指令文件

本来是用gas汇编器的ld -Ttext 0x0命令后,总是得到在一个代码仍然从0x200开头的文件。

这一度使我以为这是gas的设计错误或是怎么的。

还在昨天写的教程里留下错误的理解:

http://www.cnblogs.com/bombless/archive/2010/12/28/writing-X86-os-part1.html

 

今天又参考了一篇文章,

http://dev.csdn.net/htmls/31/31794.html

终于理解应该怎么办了。

以以下汇编代码为例:

 

 
  
.global start
.code16
.text
start:
movw $0xb800,%ax
movw %ax,%ds
movb $0x41,(
0 )
movb $0x1f,(
1 )
hlt

保存为文件gas.s。

 

只需要下面几个步骤,就可以生成一个只有代码的纯二进制指令文件gas.bin:

as -o gas.o gas.s

objcopy -O binary gas.o gas.bin

转载于:https://www.cnblogs.com/bombless/archive/2010/12/29/making-a-binary-code-file-with-GNU-tools.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值