C语言初学者请教
#include "HIc.h"
#include "HR7P90H.h"
#define uchar unsigned char
#define uintunsigned int
//******************************
void isr(void) interrupt //中断入口函数
{
_asm
{
AJMP 中断子程序
中断结束
}
}
//******************************
void main()
{
_asm
{
STA nop
nop
GOTO STA
}
}
//以下这段程序,用怎样的语句,才能放在800H以后的单元呢?
(void*)(void)0x0800();
//void ()(0X0800)
{
_asm
{
中断子程序
nop
AJMP 中断结束
}
}
为什么放到800H后呢?
c程序写的像汇编,还是多看一下别人代码如何写的吧 见笑了,初学的,只会汇编,而7P90用ICD又不支持纯汇编,所以只好放在C语言里跑程序了;
试验的项目是用7P90做空调控制器,程序比较大,C编译出来的HEX文件,2K内已无法完成,需要将有些程序放到800H后面的,自己以前没搞过C语言,所以还请赐教;
谢谢! 谢谢关注,问题已经解决。
用的是笨办法,就是将主程序控制在2K以内并接近2K,再将中断子程序和电子音乐程序捆绑在一起,这样编译器就不得不将这部分自动放在了800H开始的单元,整个汇编程序就可以在C编译环境中调试了。
实验过程中,觉得7P90的资源很丰富,做空调控制器,有点大材小用了。
与6P系列相比,二者在捕捉和PG电机的控制时间上,有一倍的数据差距,需要调整,其它的好象在移植时没多大问题。
再次谢谢关注。 c程序写的像汇编,还是多看一下别人代码如何写的吧 新手加油。。 7P90好像支持纯汇编的吧 我也新手哇,来取经的 看不懂,不看 这难道是 C语言 + 汇编的编程? 汇编???????????????? 看不懂,见笑了 努力学习,加油哦 这是在用汇编吧 学习了,没耐心看完所有程序 百度一下 我记得的有这个关于函数定位的方法。不过挺麻烦的。 这个取决与具体的编译器,很难找到统一的规则。 *((void (*)())0x800)(); laujc 发表于 2013-9-1 08:22
为什么放到800H后呢?
c程序写的像汇编,还是多看一下别人代码如何写的吧
这个事混编,应该是编译器能识别的 感觉能用汇编的人都很强悍,我也只是偶尔夹那么一点点汇编
页:
[1]