登陆
|
注册
|
搜索
|
最近新帖
发帖子
|
共享我的资料
|
精华帖子
|
热门话题
导航:
老古网
→
老古论坛
→
XMOS公共讨论区
→
XMOS开源项目区
→
单片机程序设计
→
嵌入式系统
→
广告区域
→
→C51编程:关于混和编程,有点问题,请高手指教![wutao_xf]
*第8306篇: C51编程:关于混和编程,有点问题,请高手指教!
楼 主:
wutao_xf
2003年2月19日18:36
C51编程:关于混和编程,有点问题,请高手指教!
主程序是用汇编语言写的,子程序用c语言写的,编译之后,老是出现地址覆盖问题:
子程序的code地址总是从0000h开始,与主程序产生冲突。请问如何解决??谢谢!!
第
2
楼:
tm1300
2003年2月19日19:10
那肯定不行的
即使是汇编,主程序开始地址也必须大于等于0030H的(前面定义中断向量);
对于汇编嵌套C需要的端口地址分配形式,C51是很明确的(可以查)。一般子程序是
使用指针来改变参数的;也有一种简单的使用方式,在子程序中将修改
值存放于DATA区,主程序查询。建议你查查资料,反正很难用一两句话解释的清楚。
第
3
楼:
tm1300
2003年2月19日22:24
如果你有《电子技术应用》第27卷
2001年7月刊,有简单的运用例子。
第
4
楼:
wutao_xf
2003年2月20日09:17
你的意思我明白,但是
楼上的兄弟,你讲的是传递参数的问题,我觉得第二种方式比较方便,我平时采用这种方
案。我主要的问题是:c语言下编的子程序编译之后地址老是从0000h开始,与汇编下的地址
冲突,我用的编译环境是omf51,我对c51 *.C ******后面的参数不太熟,通过修改后面的
参数,老是出问题,谢谢指教!!
第
5
楼:
tm1300
2003年2月20日10:13
所以嘛
其实我也问过这个问题,我当时是问编译器的问题,因为不同的编译器可能支持的方式不
同,甚至不支持。
第
6
楼:
wutao_xf
2003年2月25日17:10
有可能吧!!
我用的是 microtek EASYPACK/E 8052F! 我再用别的试试吧,谢谢啦!!
>>>>>>对该主题发表你的看法
本主题贴数
6
,分页:
[第1页]
[上一篇主题]:
L32Ks仿真器损坏
[下一篇主题]:
C51编程:(附源码和电路图)采用实时时钟芯片DS1302+AT89C2051的红外遥控LED电子钟