标题:
[求助]大家帮忙看看这个程序!!!
[打印本页]
作者:
themilkyway79
时间:
2005-4-18 22:12
标题:
[求助]大家帮忙看看这个程序!!!
我在c语言中想要调用线性汇编函数,主程序有一个结构体,汇编里面连接总是报错,代码如下:
short a1[2][2]={1,2,3,4};
short b1[2][2]={6,7,8,9};
short *a,*b;
typedef struct zz{
short *x;
short *y;
}z;
z d;
z *p;
short abc(struct zz *p);
int main()
{
short c;
p=&d;
p->x = &a1[0][0];
p->y = &b1[0][0];
c = abc(p);
LOG_printf(&trace,"%d",c);
return c;
}
线性汇编为:
.global _abc
_abc: .cproc p
.no_mdep
.mptr a1,a2
.mptr c1,c2
.reg t1,a1,a2,sum,sum1,sum2,sum3
.reg b0,b1
.reg c1,c2
zero sum
mvk 0,t1
mv d.x,a1
mv d.y,a2
loop: .trip 2
ldw *a1++,c1
ldw *a2++,c2
mpy c1,c2,sum1
mpyh c1,c2,sum2
sadd sum2,sum1,sum3
sadd sum3,sum,sum
bdec loop, t1
.return sum
.endproc
实现功能十分简单,没用到结构体的时候一切正常,加入结构体后,连接时说结构体没有用声明,哪位大侠能指点一下,为什么啊?
用的使c64片子
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0