请教一下我这段代码哪里有问题.

wswqwps 2007-08-07 05:48:58
lea ecx,det;
mov edx, pM;
movups xmm4, [edx];
movups xmm5, [edx+16];
movups xmm6, [edx+32];
movups xmm7, [edx+48];

shufps xmm5,xmm5,6CH;
shufps xmm6,xmm6,B1H; //error C2415: improper operand type
shufps xmm7,xmm7,C6H; //error C2415: improper operand type


movaps xmm0,xmm4;
movaps xmm1,xmm6;
mulps xmm0,xmm5;
mulps xmm1,xmm7;
mulps xmm0,xmm1;

shufps xmm5,xmm5,B1H; //error C2415: improper operand type
shufps xmm7,xmm7,B1H; //error C2415: improper operand type

movaps xmm2,xmm4;
movaps xmm3,xmm6;
mulps xmm2,xmm5;

vc2005+xp,另外请问有没有继续优化的余地.
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
mov 寄存器,内存
理论上来说要比
mov 寄存器,寄存器
慢。
但是在具有高速cache的处理器上,
大多数情况下是一样的。
wswqwps 2007-08-07
  • 打赏
  • 举报
回复
matrix结构,和D3DMATRIX 一样的结构.
wswqwps 2007-08-07
  • 打赏
  • 举报
回复
pM是个指针啊
gaoqing000 2007-08-07
  • 打赏
  • 举报
回复
mov edx, pM,这个pM是个什么啊(4X4数组吗,那怎么传向edx啊)
gaoqing000 2007-08-07
  • 打赏
  • 举报
回复
是的,要慢很多
wswqwps 2007-08-07
  • 打赏
  • 举报
回复
谢谢楼上的啊~还请教一个问题

mov 寄存器,内存

是不是要比

mov 寄存器,寄存器

来得慢?
  • 打赏
  • 举报
回复
shufps xmm6,xmm6,0B1H
...
wswqwps 2007-08-07
  • 打赏
  • 举报
回复
float MatrixDeterminant( const Matrix *pM )
{
float det;
_asm
{
...上面的代码
}
}

pM就是一个4X4的矩阵.这个是求矩阵行列式的函数.C++ 和汇编混编.

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧