VC6中怎么使用movntq,sfence指令,现在编译通不过!

Joininthefun 2009-01-19 05:56:20
movq mm0, qword ptr[esi+ecx*8]
movq mm1, qword ptr[esi+ecx*8+8]
movq mm2, qword ptr[esi+ecx*8+16]
movq mm3, qword ptr[esi+ecx*8+24]
movq mm4, qword ptr[esi+ecx*8+32]
movq mm5, qword ptr[esi+ecx*8+40]
movq mm6, qword ptr[esi+ecx*8+48]
movq mm7, qword ptr[esi+ecx*8+56]

movntq qword ptr[edi+ecx*8], mm0
movntq qword ptr[edi+ecx*8+8], mm1
movntq qword ptr[edi+ecx*8+16], mm2
movntq qword ptr[edi+ecx*8+24], mm3
movntq qword ptr[edi+ecx*8+32], mm4
movntq qword ptr[edi+ecx*8+40], mm5
movntq qword ptr[edi+ecx*8+48], mm6
movntq qword ptr[edi+ecx*8+56], mm7
add ecx, 8
dec eax
jnz writeloop
or ecx, ecx
jnz mainloop

sfence
汇编代码
...全文
284 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
#Page# 2009-02-04
  • 打赏
  • 举报
回复
帮你顶~~
killbug2004 2009-02-04
  • 打赏
  • 举报
回复
如果vc6不支持 可以考虑装个vs2005直接
__asm
{
movq mm0, qword ptr[esi+ecx*8]
movq mm1, qword ptr[esi+ecx*8+8]
movq mm2, qword ptr[esi+ecx*8+16]
movq mm3, qword ptr[esi+ecx*8+24]
movq mm4, qword ptr[esi+ecx*8+32]
movq mm5, qword ptr[esi+ecx*8+40]
movq mm6, qword ptr[esi+ecx*8+48]
movq mm7, qword ptr[esi+ecx*8+56]
........
}
我这vs2005的支持这些指令,没必要一定要用vc6
Joininthefun 2009-02-04
  • 打赏
  • 举报
回复
上面的问题,好像可以通过安装Visual C++ 6.0 Processor Pack.exe来解决,但是我的VC60怎么不能安装sp5呢!郁闷ing,安装Visual C++ 6.0 Processor Pack.exe必须先装sp5
supercow 2009-01-21
  • 打赏
  • 举报
回复
用emit 的方式来吧.

比如 movntq (查了下INTEL手册..)
就_emit 0x0F
_emit 0xE7
野男孩 2009-01-19
  • 打赏
  • 举报
回复
vc6不支持,非要用的话,也许可以用_emit指令模拟
cnzdgs 2009-01-19
  • 打赏
  • 举报
回复
VC6不支持,可以用汇编模块来写函数,在VC中调用,或者先写一些nop占空间,在运行时再修改成所需指令。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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