首页
社区
课程
招聘
[求助]一段很短的汇编算法使用了MMX
发表于: 2010-12-27 23:06 4515

[求助]一段很短的汇编算法使用了MMX

2010-12-27 23:06
4515
下面一段汇编代码谁能帮忙把他转成c++或者c语言,因为这代码用了paddq这指令,我的CPU是AMD的,用内联编译不能通过,请哪位高手帮忙,两个压入参数一个输出

var_4           = dword ptr -4
arg_0           = dword ptr  8
arg_4           = dword ptr  0Ch

push    ebp
mov     ebp, esp
push    ebx
sub     esp, 4
movd    ebx, mm2
sub     esp, 0Ch
mov     edx, ebx
add     edx, [ebp+var_4]
mov     eax, 20h
mov     ecx, eax
sub     ecx, edx
mov     eax, [ebp+8]
shl     eax, cl
push    eax
call    byteorder_32;这里其实就是bswap eax 交换字节
add     esp, 10h
movd    mm3, eax
movd    edx, mm1
mov     eax, ebx
add     eax, [ebp+12]
movd    mm2, eax
por     mm0, mm3
psllq   mm1, 3
mov     eax, ebx
add     eax, [ebp+12]
and     eax, 18h
movd    mm3, eax
paddq   mm1, mm2;就在这里编译通不过
movd    dword ptr [edx], mm0
pand    mm2, mm5
psrlq   mm1, 3
psrld   mm0, mm3
mov     ebx, [ebp+var_4]
leave
retn

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 1711
活跃值: (516)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
2
编译错误是啥?
AMD指令集里也有PADDQ指令的,而且功能和Intel的一样,可以参考:
AMD64 Architecture Programmer's Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions
2011-1-5 18:43
0
游客
登录 | 注册 方可回帖
返回
//