汇编
文章平均质量分 62
DiffenYu
这个作者很懒,什么都没留下…
展开
-
gcc汇编格式及其与MS下汇编格式区别
gcc采用的是AT&T的汇编格式,MS采用Intel的格式. 一 基本语法语法上主要有以下几个不同.★ 寄存器命名原则AT&T: %eax Intel: eax★源/目的操作数顺序AT&T: movl %eax,%ebx Intel: mov ebx,eax★常数/立即数的格式AT&T: movl $原创 2012-12-06 22:55:48 · 1537 阅读 · 0 评论 -
SSE intrinsic函数_优化
原文地址http://blog.csdn.net/guoqiangma/article/details/5455661 编写一个基于SSE多媒体指令集的快速矩阵加法运算函数,输入参数为两个单精度浮点型数组srcA与srcB,长度为N,输出结果保存在一个单精度浮点型数组dest中,假设srcA、srcB以及dest内存空间的首地址均按照16-byte对齐。请利用多媒体指令集获得最大转载 2013-01-20 15:46:59 · 2548 阅读 · 0 评论 -
SSE 饱和模式和环绕模式
MMX,SSE指令集中的饱和(Saturation)是指,如果一个字节型变量,最大值是255,最小值是0。那么如果有个操作对255 + 1,在饱和(saturation)下结果为255,如果是环绕模式(wrapparound)则结果为0(进位制直接被忽略);相应地,对于1 - 2 这种操作,对于饱和操作最后得到的结果为0即取的是最小值原创 2013-01-24 16:12:01 · 1193 阅读 · 0 评论 -
SSE掩码运算测试
#if 1// MMX, SSE, SSE2#include #include #include #pragma comment(lib, "winmm.lib ")// 用位掩码做饱和处理.用求负生成掩码#define LIMITSU_FAST(n, bits) ( (n) & -((n) >= 0) | -((n) >= (1<<(bits))) )#define LI转载 2013-01-24 17:17:38 · 1199 阅读 · 0 评论 -
在C/C++代码中使用SSE等指令集的指令(1)介绍
来源:http://blog.csdn.net/gengshenghong/article/details/7007100我们知道,在C/C++代码中,可以插入汇编代码提高性能。现在的指令集有了很多的高级指令,如果我们希望使用这些高级指令来实现一些高效的算法,就可以在代码中嵌入汇编,使用SSE等高级指令,这是可行的,但是如果对汇编不太熟悉,不愿意使用汇编的人来说,其实也是可以的,这就是Co转载 2013-01-24 08:38:58 · 1123 阅读 · 0 评论 -
SSE指令
SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集是Intel在Pentium III处理器中率先推出的。其实,早在PIII正式推出之前,Intel公司就曾经通过各种渠道公布过所谓的KNI(Katmai New Instruction)指令集,这个指令集也就是SSE指令集的前身,并一度被很多传媒称之为MMX指令集的下一个版本,即MMX2指令集。究其背景,原来转载 2013-01-05 14:35:13 · 1973 阅读 · 0 评论 -
Instructions函数对照表:02 xmmintrin.h与SSE指令集
Instructions函数对照表:02 xmmintrin.h与SSE指令集原文地址:http://www.cnblogs.com/zyl910/archive/2012/07/31/intrin02_sse.htmlR:寄存器。M:64位MM寄存器;X:128位XMM寄存器;Y:256位YMM寄存器。Name:函数名。Name2:另一种函数名。功能:功能描述。A转载 2013-01-05 11:02:16 · 1632 阅读 · 0 评论 -
矩阵转置的SSE汇编优化艺术以及ARM cortext 汇编优化
转至http://blog.csdn.net/feixiang_john/article/details/8438658平时我们做图像处理或者视频处理, 很多地方会用到矩阵转置:比如: DCT变换, 图像旋转, 图像滤波, 以及一些数据的内存行和列的交换等, 会大量使用转置这个动作.然而由于数据量很大,处理速度很慢!如何来提高处理速度呢?下面看看分析:转载 2013-01-05 12:48:32 · 1162 阅读 · 0 评论 -
Pentium III处理器的单指令多数据流扩展指令入门
转至http://www.vckbase.com/index.php/wv/175在这篇文章里,我们将向你展示Pentium III处理器和她的这些新特性,并且将着重讲述Pentium III处理器的新指令集.1.Pentium III处理器概要1999年2月,Intel发布了她的最新款处理器Pentium III处理器,和以往的新处理器推出一样,速度的提高是最主要的性能改善.Inte转载 2013-01-05 12:45:23 · 1142 阅读 · 0 评论 -
SSE指令简明参考
http://gameboy007.blog.sohu.com/76461459.htmlADDPS格式:ADDPS xmm1, xmm2/m128功能:两组单精度数相加算法:DEST[31-0] = DEST[31-0] + SRC/m128[31-0] ;DEST[63-32] = DEST[63-32] + SRC/m128[63-3转载 2013-01-05 11:06:51 · 1659 阅读 · 0 评论 -
masm masm32 fasm nasm yasm gas的区别与联系
masm MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。masm32MASM32 是一个为那些对学习或者编写 32 位微软原创 2012-12-18 19:38:05 · 4040 阅读 · 0 评论 -
利用yasm在vs2008中进行X86汇编与C/C++相互调用
1.工具的下载以及环境的搭建 yasm的下载 在http://yasm.tortall.net/Download.html选择win32.exe,将其改名为yasm.exe,并将其添加至D:\Program Files\Microsoft Visual Studio 9.0\VC\bin下(安装目录不同的对应更改) yasm.rules文件下载 在https原创 2012-12-19 19:05:21 · 4876 阅读 · 1 评论 -
Linux下面的yasm编程之Hello world
http://blog.163.com/gm8pleasure@126/blog/static/25798077200710713532708/转载 2012-12-11 23:41:25 · 1017 阅读 · 0 评论 -
cdecl、stdcall、fastcall函数调用约定区别
论函数调用约定 在C语言中,假设我们有这样的一个函数: int function(int a,int b) 调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保转载 2012-12-09 21:45:43 · 512 阅读 · 0 评论 -
x264_stack_align( x264_slice_write, h )解读
看到x264中对于字节对齐的函数x264_stack_align( x264_slice_write, h ),为什么要字节对齐呢?因为x264中用到的指令集优化SSE2,而SSE2寄存器是128位寄存器,SSE2的指令是对16字节(128/8)同时处理,这就要求指令作用时,数据存放的地址以16字节对齐(即数据地址是16的倍数),这样一个指令周期就可以处理数据,不然会消耗多个指令周期而发挥不了指令原创 2012-12-04 23:01:13 · 1913 阅读 · 0 评论 -
算术运算 (SSE2 整数内部)
算术运算 (SSE2 整数内部)http://msdn.microsoft.com/zh-cn/library/vstudio/k87x524b.aspx#feedbackVisual Studio 2012其他版本此主题尚未评级 - 评价此主题[本文档仅供预览,并可能在以后的版本中更改。 Bl原创 2013-01-20 10:51:03 · 2527 阅读 · 0 评论