|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 cjsb37 于 2013-4-29 08:57 编辑
最近刚开始接触,有个问题想请教一下各位大大们
我如何在线性汇编中调用C语言中已经定义的数组 例如:int A[3]={0,1,2};B[2][3]={{0,1,2},{0,1,2},{0,1,2}}
如果在线性汇编中如何定义数组并赋值(一维、二维、三维),如何调用数组
针对结构体如何写成线性汇编?
请给个简单示例再次谢谢各位大大们
我这样写哪里有问题?编译通过但是结果不正确。。。。。。。。。。。。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
extern float dotprod(const int nx);
void main(void)
{
int N=4,i;
int sum;
sum=dotprod(N);
printf("OUT:%f\n",sum);
}
线性汇编文件
.data
x .float 0x00f0, 0x1234, 0x0000, 0x0000
y .float 0x1234, 0x4567, 0x0000, 0x0001
.text
.global _dotprod
_dotprod .cproc nx
.ref _x
.ref _y
.reg sum1,x0,y0,prod0
.reg x1,y1
ZERO sum1
MVKL x, x1
MVKH x, x1
MVKL y, y1
MVKH y, y1
loop:
LDW *x1++, x0
LDW *y1++, y0
MPYSP x0, y0, prod0;
ADDSP sum1, prod0, sum1
SUB nx, 1, nx
[nx] B loop
.return sum1
.endproc
|
|