最近刚开始接触,有个问题想请教一下各位大大们 我如何在线性汇编中调用C语言中已经定义的数组 例如:int A[3]={0,1,2};B[2][3]={{0,1,2},{0,1,2},{0,1,2}} 如果在线性汇编中如何定义数组并赋值(一维、二维、三维),如何调用数组 针对结构体如何写成线性汇编?有没有针对线性汇编程序设计的书,现在基本都是从C6000系列的教材去看 介绍的不是很全面,求指导 请给个简单示例再次谢谢各位大大们 我这样写哪里有问题?编译通过但是结果不正确。。。。。。。。。。。。 #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
|