免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 破碎细胞
打印 上一主题 下一主题

[貌似已解决]gcc编译汇编和c的函数调用的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-02-19 17:17 |只看该作者
原帖由 swordfish.cn 于 2009-2-19 17:16 发表
Mark 一下,哈哈。不能偷懒哦。

呵呵,还得谢谢你哦。

论坛徽章:
0
12 [报告]
发表于 2009-02-19 18:57 |只看该作者
就512字节,用C写?会不会更麻烦?估计不如用汇编来得快捷。

论坛徽章:
0
13 [报告]
发表于 2009-02-19 20:42 |只看该作者
也不是说完全不能用 C 了,可以

  1. gcc -S file.c
复制代码

切记在 c 文件开头加上

  1. asm(".code16gcc")
复制代码

然后把生成的汇编 copy 过去。

不过大小是个问题,要好好斟酌。

原来一直以为是 ld 的 script 出问题,查了半天资料。后来才发现是 BIOS 只读了 512 byte,太残念了。
以前看 GRUB 代码时就注意到 loader 要先被 boot sector 的代码读入内存再 call,这下就没注意。只看不练果然不行啊。

论坛徽章:
0
14 [报告]
发表于 2009-02-24 08:21 |只看该作者
原帖由 swordfish.cn 于 2009-2-19 20:42 发表
也不是说完全不能用 C 了,可以

gcc -S file.c

切记在 c 文件开头加上

asm(".code16gcc")

然后把生成的汇编 copy 过去。

不过大小是个问题,要好好斟酌。

原来一直以为是 ld 的 script 出问题 ...



mark一下

论坛徽章:
0
15 [报告]
发表于 2012-09-17 10:53 |只看该作者
呵呵,不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP