您现在的位置是:首页 >

鲁迅先生的详细资料 MMX指令集简介及详细资料

火烧 2021-12-09 18:19:40 1033
MMX指令集简介及详细资料 简介MMX的益处在于,当时存在的作业系统不必为此而做出任何修改便可以轻松地执行MMX程式。但是,问题也比较明显,那就是MMX指令集与x86浮点运算指令不能够同时执行,必须做

MMX指令集简介及详细资料  

简介

MMX的益处在于,当时存在的作业系统不必为此而做出任何修改便可以轻松地执行MMX程式。但是,问题也比较明显,那就是MMX指令集与x86浮点运算指令不能够同时执行,必须做密集式的交错切换才可以正常执行,这种情况就势必造成整个系统运行质量的下降。

指令介绍

1.数据转移指令(Data Movement):

(1)movd;

(2)movq;一次性将32位或64位的数据在暂存器与记忆体之间转移。操作DWORD时,MMX暂存器只使用低32位。

2.算术指令:

(1)padd[b,w,d],无符号数加;

(2)padds[b,w],饱和模式的有符号数加;

(3)paddus[b,w],饱和模式的无符号数加;

(4)psub[b,w,d],无符号数减;

鲁迅先生的详细资料 MMX指令集简介及详细资料

(5)psubs[b,w],饱和模式的有符号数减;

(6)psubus[b,w,d],饱和模式的无符号数减;

(7)pmulhw,WORD类型的有符号数相乘后取高16位;

(8)pmullw,WORD类型的有符号数相乘后取低16位;

(9)pmaddwd,WORD类型的向量点乘运算。

3.移位指令:

(1)psll[w,d,q],逻辑左移;

(2)psrl[w,d,q],逻辑右移;

(3)psra[w,d,q],算术右移。

4.逻辑指令:

(1)pand位与操作;

(2)pandn将目的运算元取反后再和源运算元做位与操作;

(3)por位或操作;

(4)pxor按位异或操作。

5.比较指令:

6.数据打包/拆包指令:

7.MMX状态清除指令:

(MMX指令集的详解可以阅读参考资料: )

CPU支持

如果CPU能够具有了MMX指令集,就可以使用Visual Studio .NET 2003提供的对MMX指令集支持的C++函式馆了,可以查看MSDN中的一个Visual C++ CPUID的例子,它可以帮你检测你的CPU是否支持SSE、MMX指令集或其它的CPU功能。

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码