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

2004-02-14 09:34 出处:CSDN 作者:hifrog(翻译) 责任编辑:linjixiong

  MMX8是一个单文档界面(SDI)的应用程序,用来对每象素8位的单色位图进行简单处理。源图象和处理后的图象会在窗体中显示出来。新建的ATL(活动模版库)类 Cimage用来从资源中提取图象并在窗体中显示出来。程序要对图象进行两种处理操作:图象颜色反相和改变图象的亮度。每一种处理操作可以用下面几种方法之中其中的一种来实现:

  纯C++代码;
  使用C++的MMX功能函数的代码;
  使用MMX汇编指令的代码。

  对图象进行处理计算的时间会显示在状态栏中。

  用纯C++实现的图象颜色反相函数:

  void CImg8Operations::InvertImageCPlusPlus(
    BYTE* pSource,
    BYTE* pDest,
    int nNumberOfPixels)
  {
    for ( int i = 0; i < nNumberOfPixels; i++ )
    {
        *pDest++ = 255 - *pSource++;
    }
  }


  为了查询使用C++ MMX指令函数的方法,需要参考Intel软件说明书(Intel Software manuals)中有关MMX汇编指令的说明,首先我是在第一卷的第八章找到了MMX相关指令的大体介绍,然后在第二卷找到了有关这些MMX指令的详细说明,这些说明有一部分涉及了与其特性相关的C++函数。然后我通过这些MMX指令对应的C++函数查找了MSDN中与其相关的说明。在MMX8示例程序中用到的MMX指令和相关的C++函数见下表:

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

相关文章

关注我们

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