在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2262|回复: 0

[原创] 线性汇编数组问题

[复制链接]
发表于 2012-6-14 09:05:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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





您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 02:33 , Processed in 0.019936 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表