MMX 指令集:完整指令列表及应用
MMX 指令集是一种用于多媒体处理的 SIMD(单指令多数据)指令集,它包含了一系列指令用于并行处理多个数据元素。以下是 MMX 指令集的全部指令:\n\n1. MMX 数据传输指令:\n- MOVQ - 将一个 64 位 MMX 寄存器中的数据传送到另一个寄存器中。\n- MOVD - 将一个 32 位通用寄存器中的数据传送到一个 MMX 寄存器中。\n- MOVDQU - 无对齐方式从内存中读取 128 位数据到一个 MMX 寄存器中。\n\n2. MMX 算术指令:\n- PADDB - 将两个 MMX 寄存器中的每个字节相加。\n- PADDW - 将两个 MMX 寄存器中的每个字相加。\n- PADDD - 将两个 MMX 寄存器中的每个双字相加。\n- PSUBB - 将两个 MMX 寄存器中的每个字节相减。\n- PSUBW - 将两个 MMX 寄存器中的每个字相减。\n- PSUBD - 将两个 MMX 寄存器中的每个双字相减。\n\n3. MMX 逻辑指令:\n- PAND - 对两个 MMX 寄存器中的每个字执行逻辑与操作。\n- POR - 对两个 MMX 寄存器中的每个字执行逻辑或操作。\n- PXOR - 对两个 MMX 寄存器中的每个字执行逻辑异或操作。\n\n4. MMX 比较指令:\n- PCMPEQB - 比较两个 MMX 寄存器中的每个字节是否相等。\n- PCMPEQW - 比较两个 MMX 寄存器中的每个字是否相等。\n- PCMPEQD - 比较两个 MMX 寄存器中的每个双字是否相等。\n\n5. MMX 转换指令:\n- PACKSSWB - 将两个 MMX 寄存器中的每个字进行饱和转换,并打包到一个寄存器中。\n- PACKSSDW - 将两个 MMX 寄存器中的每个双字进行饱和转换,并打包到一个寄存器中。\n- PACKUSWB - 将两个 MMX 寄存器中的每个字进行无符号转换,并打包到一个寄存器中。\n\n6. MMX 其他指令:\n- EMMS - 清空 MMX 寄存器,并重新启用 FPU 指令。\n- PAVGB - 对两个 MMX 寄存器中的每个字节求平均值。\n- PAVGW - 对两个 MMX 寄存器中的每个字求平均值。\n- PMULHUW - 将两个 MMX 寄存器中的每个字进行无符号乘法,并取高位结果。\n\n这些指令只是 MMX 指令集的一部分,用于执行基本的多媒体运算。
原文地址: https://www.cveoy.top/t/topic/pR7H 著作权归作者所有。请勿转载和采集!