SSE2技术是SSE技术的扩展,它与SSE一样,也使用的是XMM寄存器,只不过SSE2技术提供了一些指令,可以对压缩的双精度浮点数,压缩的32位整数,以及压缩的64位整数进行操作。此外,与SSE类似的是,SSE2既可以处理压缩浮点数,也可以处理标量浮点数,标量浮点数的含义在上一节已经解释过了...
SSE技术所提供的指令可以对压缩的单精度浮点数进行运算,类似于MMX,SSE也提供了新的指令用于将数据赋值给XMM寄存器,或者从XMM寄存器获取数据,以及对XMM寄存器中的压缩浮点数进行数学运算等。SSE指令有两种后缀:一种是PS后缀,例如下面要提到的MOVAPS指令...
上一篇文章对MMX,SSE,SSE2及SSE3技术做了基本的概述,本篇文章就先对MMX技术所提供的运算指令进行介绍 在汇编程式里执行MMX运算指令的基本步骤如下:将多个整数放在一起组成MMX所需的压缩整数类型...
英特尔处理器家族在IA-32指令集中提供了先进的数学处理能力,如果你的应用需要进行大量的数学运算的话,如音频和视频的处理,就可以利用下面要介绍的技术来提高应用程序的性能...
上一篇文章的readtest3程式无法对同一个文件同时进行读写操作,如果你对readtest3程式的输入和输出文件都使用相同的文件名的话,就会发生如下情况...
前一章介绍了如何用open系统调用来打开文件,一旦打开了文件,你就可以使用write系统调用向该文件里写入数据 在之前的 汇编开发示例 (一) 的文章里,介绍过一个cpuid.s的示例程式,该程式里就用到了write系统调用来向显示器输出字符串信息...
在汇编中使用文件有两种方式,一种是使用标准的C库函数,例如:fopen(),read()以及write()函数等,这些C库函数本质上是通过Linux内核提供的系统调用来实现的,因此,汇编里操作文件的第二种方式就是直接使用底层提供的系统调用。本章节主要介绍的是第二种方式,所以,下面就对与文件操作相关的系统调用进行介绍...
除了上一节提到的循环结构外,if...else...之类的条件选择语句也需要进行优化,因为if...else...语句生成的汇编指令中的jle之类的条件跳转指令,会让处理器的指令预取缓存措施大打折扣...
上一篇文章里介绍了编译器的很多优化方案,每种优化方案都代表着一种汇编指令的优化技巧,其中,最常用的优化技巧如下...
C或C++程式在编译器的作用下,最终都会转为汇编指令,为了能提高程式的执行性能,有时,我们就需要对这些汇编指令进行优化,GNU编译器本身就提供了一些选项参数可以用于优化生成的汇编指令,我们...