如何实现C编译向ASM的转换:急急

eiffel 2000-12-13 05:05:00
现有一产品需采用8086兼容处理器,不采用DOS,但要给应用软件开发人员提供C编译环境。
看了一些关于8086和TC20的书,却都是基于DOS实现EXE文件的重定位的。
请教各们高手,如何将C编译后的EXE文件直接下载到内存执行?定位??
(该产品本质为设计一个专用微机,并向应用软件人员提供C的库函数,因此用不到DOS。)
请一定帮忙。想送上150分,却不知如何送,刚才送150分,结果提示不行,害我重打一遍!!!

...全文
378 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eiffel 2000-12-14
  • 打赏
  • 举报
回复
确实,所有的输入、输出、显示、文件操作函数全部由自己提供,因此不存在有DOS调用问题,也就是全部的库函数都由自己设计。这是设计要求。
这些均可解决,但C编译后的重定位问题我比较陌生,所以一定帮忙!
aoao 2000-12-13
  • 打赏
  • 举报
回复
我曾记得有一个单片机的网站说过将c编译的程序load入内存执行,网址我忘了(是中文的)。
kacer 2000-12-13
  • 打赏
  • 举报
回复
1. C 在生成 EXE 时用了许多库函数,很多库函数又调用了 DOS 功能 INT 21H。
您要提供 C 编译环境,就必须替换 C 库函数中所有调用了 DOS 功能 INT 21H
的函数,否则就没有安全保障。
2。不能链接 C 的启动代码 C0x。OBJ。
3。先解上面的问题,我再教你重定位吧。
xubin_sh 2000-12-13
  • 打赏
  • 举报
回复
用VC编译程序,加参数/FA可以将.c编译成.asm,然后修改一下...

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧