微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于NIOS II中C语言内嵌汇编操作64位数的问题

关于NIOS II中C语言内嵌汇编操作64位数的问题

时间:10-02 整理:3721RD 点击:
下面是一段代码:
功能: /* equivalent to return (sum + ((__int64)x * y)); */
//ARM中的代码
static __inline __int64 MADD64(__int64 sum, int x, int y)
{
unsigned int sumLo = ((unsigned int *)&sum)[0];
int sumHi = ((int *)&sum)[1];
__asm {
  mov  eax, x
  imul y
  add  eax, sumLo
  adc  edx, sumHi
}
/* equivalent to return (sum + ((__int64)x * y)); */
}
//NIOS II中的代码
static __inline __int64 MADD64(__int64 sum, int x, int y)
{
  return (sum + ((__int64)x * y));
}
现在想提高速度,用NIOS II的C语言内嵌汇编重新实现上面的函数,但是其中涉及到了64位数,请问
怎么实现上述函数。

请教高手

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top