• 您的位置我爱Aspx >> VC.Net >> MMX开发文档
  • MMX开发文档

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:49:15  关键字:
  • 减法运算指令同上;add改为sub。

    乘法指令:pmullw / pmulhw 是4个16位数据的乘法,pmullw中是结果的低16位,pmulhw是结果的高16位。pmaddwd 乘加指令。

    2.4 逻辑指令,移位指令和EMMS指令

    细节参见《INTEL 体系结构MMX技术程序员参考手册》。

    III MMX经典处理策略

    ①数据输入输出:

    在输入数据的时候,经典的处理方法是将一个数组整个“Load”到MMX寄存器中。这样简单同时利用了MMX64位读写数据的能力,提高了性能。同样在输出的时候,也是将一个64位MMX寄存器中的数据内容整个“Store”到内存中。

    如果实在是不能这样处理的话,就要利用移位指令了。比如说将一个MMX内的4个16位数据分别拷贝到不同的内存变量(或者16位通用寄存器中)x1,x2,x3,x4,那么可以这样处理:

    movd eax,mm1

    psrlq mm1,32

    movd ebx,mm1

    mov x1,ax

    mov x2,bx

    shr eax,16

    shr ebx,16

    mov x3,ax

    mov x4,bx

    可见如果不采用数组形式的话,输入输出将十分的麻烦。

    ②数据分组以及求绝对值的方法等:

    细节请参阅《INTEL 体系结构MMX™ 技术开发者手册》第五章

    IV 自定义组合指令

    ①八位无符号数的移位:

    在MMX指令集中是没有8位数据的移位指令的,但是有的时候我们确实需要,所以可以用以下两个指令来实现:

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:Outlook风格的使用不同的颜色单列显示新邮件数
    下一篇:使用C#制作的更换桌面背景程序
  • 相关文章