SSE指令集系列之三

摘要:
6.SSE整数运算指令pavgbMM,MM/m64pavgbXMM,XMM/m128把源存储器与目的寄存器按字节无符号整数相加,再除以2,结果四舍五入为整数放入目的寄存器。

6. SSE整数运算指令

pavgb MM,MM/m64

pavgb XMM,XMM/m128

把源存储器与目的寄存器按字节无符号整数相加,再除以2,结果四舍五入为整数放入目的寄存器。

源存储器为m128时,内存变量地址必须16字节对齐.

pavgw MM,MM/m64

pavgw XMM,XMM/m128

把源存储器与目的寄存器按字无符号整数相加,再除以2,结果四舍五入为整数放入目的寄存器,

源存储器为m128时,内存变量必须对齐内存16字节.

pextrw r32,MM,imm8

pextrw r32,XMM,imm8

从源寄存器中选第imm8(0~3 或 0~7)个字送入目的寄存器的低16位,高16位清零.

imm8范围为 0~255,当源寄存器为'MM'时,有效值= imm8 mod 4,当目的寄存器为'XMM'时,有效值= imm8 mod 8

目的寄存器是32位通用寄存器

pinsrw MM,r32/m32,imm8

pinsrw XMM,r32/m32,imm8

把源存储器的低16位内容送入目的寄存器第imm8(0~3 或 0~7)个字,其余字不变.

imm8范围为 0~255,当目的寄存器为'MM'时,有效值= imm8 mod 4,当目的寄存器为'XMM'时,有效值= imm8 mod 8

源寄存器是32位通用寄存器

例:

7 6 5 4 3 2 1 0
当 XMM0 = 0x ffff ffff ffff ffff ffff ffff ffff ffff
eax = 0x 1234 5678,

执行 pinsrw XMM0,eax,3
则 XMM0 = 0x ffff ffff ffff ffff 5678 ffff ffff ffff

执行pinsrw XMM0,eax,9
则XMM0 = 0x ffff ffff ffff ffff ffff ffff 5678 ffff

pmaxsw MM,MM/m64

pmaxsw XMM,XMM/m128

把源存储器与目的寄存器按字有符号整数比较,大数放入目的寄存器对应字

源存储器为m128时,内存变量地址必须16字节对齐.
pmaxub MM,MM/m64

pmaxubXMM,XMM/m128

把源存储器与目的寄存器按字节无符号整数比较,大数放入目的寄存器对应字节,

源存储器为m128时,内存变量地址必须16字节对齐
pminsw MM,MM/m64

pminswXMM,XMM/m128

把源存储器与目的寄存器按字有符号整数比较,较小数放入目的寄存器对应字,

源存储器为m128时,内存变量地址必须16字节对齐
pminub MM,MM/m64

pminub XMM,XMM/m128

把源存储器与目的寄存器按字节无符号整数比较,较小数放入目的寄存器对应字节,

源存储器为m128时,内存变量地址必须16字节对齐

小结: SSE整数运算指令是对MMX指令集的扩充。

免责声明:文章转载自《SSE指令集系列之三》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇跨域大全关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[AIR] 对存储器(Storage Volume)监听

AIR 2.0及以上提供了对系统的存储器信息访问和监听的API。通过这些API,你不仅可以访问到硬盘文件系统,同时还可以监听通过USB或火线进行连接的移动存储设备,例如移动硬盘和以存储方式连接到计算机的相机,MP3或手机等等。你可以通过对系统存储器信息添加监听器来监听这些外部设备的连接、断开状态。 代码示例: importflash.filesystem....

LDR 和MOV 指令区别

ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678这个地址中的值存放到r0中。而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC...

组成原理(三):存储器概述,RAM,ROM

目录 学习重点 1.存储器分类 2.存储器层次 3. 主存储器 4.半导体存储芯片4.1 译码驱动方式 5.RAM 5.1 SRAM 5.2 DRAM 5.3 DRAM与SRAM比较 6.ROM 学习重点 存储器分类(了解) 存储器层次 主存基本组成 主存编址 半导体存储芯片 示意图 译码驱动方式 RAM:随机存取存储器 S...

从三个层面认识SRAM存储器

大家都了解,CPU是负责计算和处理的,而存储器则是负责互换数据信息的。有些人是那么形容的,说CPU便是技术工程师自己,运行内存就好像操作台,必须妥善处理的物品必须先取得工作中台子上才便捷解决。那么硬盘是什么呢?电脑硬盘如同木柜,储放电子元器件仪器设备用的库房,存物品。   存储器有两个基础的组成模块,充足了解SRAM和DRAM这两个定义及其电路原理,针对学...

Intel 8086/8088 CPU 结构与可编程寄存器

目录 一、8086/8088 CPU 功能结构 二、CPU内部寄存器组 (一)通用寄存器 1. 数据寄存器 2. 间接寻址寄存器 3. 指针寄存器 (二)段寄存器 (三)指令指针 IP (四)标志寄存器 1. 状态标志 2. 控制标志 一、8086/8088 CPU 功能结构 Intel 公司于 1978 年推出了标准 16...

Java虚拟机介绍

Java虚拟机概述 Java虚拟机(JavaVirtualMachine)简称JVMJava虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。下面我们就来看一下这几部分比较重要的java虚拟机的结构 一、JVM寄存器 所有的CPU均包含用于保存系统状...