如何用gcc(或nasm,ld,其他工具也行) 将 c代码 编译成 "纯"二进制机器码
是这样的 我有boot.asm start.asm beg.c三个文件
boot.asm这样写的
org 0x7c00
...;加载磁盘的所有机器码到0x9000
jmp 0x9020:star
resb 510-($-$$)
dw aa55
start.asm如下
star:
...//进入实模式
jmp begc
begc:
我将boot.asm,start.asm,beg.c的机器码依次连续写入img文件中
qemu -fda img -boot a 模拟光驱启动系统
执行到begc就运行不了了
beg.c改用汇编 重写了几句能运行(但是谁用汇编写啊)
也用gcc -S beg.c看了 没有问题啊
肯定是链接的时候产生的"文件头" 系统接入口之类的东西在作祟
想知道c代码如何也能像 nasm那样 生成"纯"机器指令
谢谢了