正在阅读:基于MMX指令集的程序设计简介基于MMX指令集的程序设计简介

2004-02-14 09:34 出处:CSDN 作者:hifrog(翻译) 责任编辑:linjixiong
 
实现的功能对应的MMX汇编指令Visual C++.NET中的MMX函数
清除MMX寄存器中的内容,即初始化(以避免和浮点数操作发生冲突)。emms_mm_empty
将两个64位数中对应的(8个)无符号(8位)字节同时进行减法操作。psubusb_mm_subs_pu8
将两个64位数中对应的(8个)无符号(8位)字节同时进行加法操作。paddusb_mm_adds_pu8

  用Visual C++.NET的MMX指令函数实现图象颜色反相的函数:

  void CImg8Operations::InvertImageC_MMX(
    BYTE* pSource,
    BYTE* pDest,
    int nNumberOfPixels)
  {
    __int64 i = 0;
    i = ~i;                                 // 0xffffffffffffffff   

    // 每次循环处理8个象素
    int nLoop = nNumberOfPixels/8;

    __m64* pIn = (__m64*) pSource;          // 输入的字节数组指针
    __m64* pOut = (__m64*) pDest;           // 输出的字节数组指针

    __m64 tmp;                              // 临时工作变量

    _mm_empty();                            // 执行MMX指令:emms,初始化MMX寄存器

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品