关于KEIL的基础问题

[复制链接]
2260|3
 楼主| johnlin519 发表于 2012-1-5 12:42 | 显示全部楼层 |阅读模式
KEIL 用了阵子,一直是用C来做,但是最近碰到一个事情,需要用C编段代码,然后搞成汇编,插入人家的程序里去(先别管是否合理)。但是目前碰到个问题想请教下,KEIL的编译过程是如何呢?我用C直接写了代码生成目标跑的OK,然后C转成A51宏汇编再编译成目标和原来的不同啊,就是跑乱了。程序使用了CASE,DPTR等子程序,宏汇编编译时使用的C51S.LIB。
请问这是为什么?
ayb_ice 发表于 2012-1-5 13:23 | 显示全部楼层
这就是混合编程
你的程序可以自由使用所有寄存器
asm程序功能不正常就是程序本身的问题
 楼主| johnlin519 发表于 2012-1-5 22:35 | 显示全部楼层
可是同样的C代码,直接生成目标码 和编译城汇编语言,然后生成的目标代码不同,这个怎么修正呢。。纠结了
ayb_ice 发表于 2012-1-6 08:40 | 显示全部楼层
直接生成的目标代码完全符合KEIL的规则,当然没有问题,你自己写的汇编代码就不一定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

38

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部