多媒体指令的详细说明

本文详细介绍了Intel的MMX技术,包括MMX的数据处理特点、指令集、饱和算法和封装模式。通过MMX,处理器能同时处理多个数据元素,提高多媒体处理效率。文章还探讨了MMX在C编程中的应用,以及如何使用__m64数据类型和相关函数进行计算。
摘要由CSDN通过智能技术生成
近期很荣幸为公司做了一次关于多媒体指令的培训,现把主要的培训内容写出来。 

基于MMX指令集的程序设计

MMX技术简介
为了满足多媒体技术(包括图形图像,声频,动画,视频等)对大量数据快速处理的需要,intel公司在其第5intel80x86微处理器奔腾中,加入了多媒体扩展指令,数据流SIMD扩展SSE指令和SSE2指令。
Intel
公司的MMX(多媒体增强指令集)技术可以大大提高应用程序对二维三维图形和图象的处理能力。Intel MMX技术可用于对大量数据和复杂数组进行的复杂处理,使用MMX技术可处理的数据基本单位可以是字节(byte)、字(word),或者是双字(double-word)。

1 MMX的指令寄存器

1.          MMX的数据处理特点

一条MMX指令可以同时计算 8/4/2 个数据

紧缩字节:88位字节被紧缩成一个64位数据

紧缩字:416位字被紧缩成一个64位数据

紧缩双字:232位双字被紧缩成164位数据

紧缩4字:164位数据

2MMX的指令集

算术运算指令:

PADD[B,W,D]环绕加【字节,字,双字】

PSUB[B,W,D]环绕减【字节,字,双字】

环绕运算是指:无符号数据的运算结果超出其数据类型界限的时候,它进行正常的进位借位运算。但是MMX技术没有新增任何标志,MMX指令也不影响状态标志,所以每个进位或错位并不能反映出来。例如:

16位字的数据类型界限是0000FFFFH,则环绕运算

7FFEH+0003H=8001H(无进位)

0003H+FFFEH=0001H(有进位)

7FFEH-0003H=7FFBH(无借位)

0003H-FFFEH=0005H(有借位)

PADDS[B,W]有符号饱和加【字节,字】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值