Intel System MMX Command & Document Description

xiaoxiao2021-03-06  39

Intel System MMX Command & Document Description

MMX instruction

Intel

-------------------------------------------------- ------------------------------

Intel System MMX Command & Document Description

EMMS

MMX status empty:

Put the FP feature word empty (all), so that the subsequent floating point command can use floating point registers, other MMX instructions automatically set FP all 0. This instruction should end and call routines that can contain the FP instructions. Time to use to clear the MMX status.

MOVD MM, R / M32

MOVD R / M32, MM Transfer 32-bit data:

Move 32-bit data from integer register / memory to the MMX register, and reverse move. MOVD cannot move data between MMX registers, between memory and integer registers. When the target operand is MMX register, 32-bit The source operand writes the low 32 bit of the target register. The target register "0 extension" is 64 bits. When the source operand is the MMX register, the low 32 bit of the register is written to the target operand.

MOVQ MM, R / M64

MOVQ R.M64, MM Transfer 64-bit data:

Move 64-bit data from integer registers / memory to MMX registers, and reverse movement. The target operand and source operand can be MMX registers, 64-bit memory operations. But MOVQ cannot perform data transfer between memory and memory. .

Packsswb mm, mm / m64

Packssdw mm, mm / m64

Symbolic saturation data into group:

The Symbol groups in the MMX register and MMX register / memory cells becomes a symbolic byte group of the MMX register. And the symbolic double word group in the MMX register and MMX register / memory cells becomes a symbol of the MMX register. List. (Note 1)

Packuswb mm, mm / m64 unsigned saturation mode data into group

The symbolic group in the MMX register and the MMX register / memory unit becomes the unsigned byte group of the MMX register. (Note 1)

PADDB MM, MM / M64

Paddw mm, mm / m64

Paddd mm, mm / m64

Surrounded mode data group plus:

Putting the byte group (group, double word group) in the MMX register / memory unit to the MMX register (Note 1)

Paddsb mm, mm / m64

Paddsw mm, mm / m64

Saturation is symbolic data group plus:

Press saturation to add a symbolic byte group in the MMX Register / Memory unit to a symbolic byte group (word group) data in the MMX register. (Note 1)

Paddusb mm, mm / m64

Paddusw mm, mm / m64

Saturation is not symbolic data group plus:

Press saturation to add unsigned byte groups in the MMX register / memory cell to an unsigned byte group (word group) data in the MMX register. (Note 1)

Pand mm, mm / m64

Charter logic

The 64-bit data in the MMX register / memory unit is operated in the MMX register.

Pandn mm, mm / mm / m64

Characteristic logic and non-:

Reverse 64-bit values ​​in the MMX register, and then the retrograde MMX register is operated with 64-bit data in the MMX register / memory cell, and the result is stored in the MMX register.

PCMPEQB mm, MM / M64

PCMPEQW MM, MM / M64

PCMPEQD MM, MM / M64

Equal comparison of group data:

The MMX register is compared to the byte group (word group, two-word group) data in the MMX register / memory cell.

This instruction compares the target operand and the corresponding data element of the source operand, and the corresponding data element of the target register is set to all 1, otherwise it is all 0.

EG: PCMPEQE MM, MM / M64

MM? 0000000000000000111 0111000111000111

MM / M64? 11111110000001100 0111000000001100 01110000000000004111

Result mm? 00000000000000000000 1111111111111111

PCMPGTB MM, MM / M64

PCMPGTW MM, MM / M64

PCMPGTD MM, MM / M64

Equal comparison of group data:

The MMX register is greater than comparison with the byte group (inquiry, double-word group) data in the MMX register / memory cell.

This instruction compares the target operand and the corresponding data element of the source operand, which is greater than that the corresponding data element of the target register is set to all 1, otherwise it is set to all 0. (refer to the previous one) PMADDWD MM, MM / M64 data set (字) Multiply:

MMX registers multiplied with the group data in the MMX register / memory cell, and then add 32-bit results to the MMX register as a double word.

EG: PMADDWD MM, MM / M64

MM? 011100011100111 01110011100111

Operation * * * *

MM, MM / M64? 10000000000000000000000000000000000000000000000000000000000000000000000000000000000

Operation / _____ ____ / / ______ _____ / /

mm? 1100100011100000000000000000000

Pmulhw mm, mm / m64

The multiplication of the group data (the word group) takes the high position:

MMX register is multiplied by the symbolic group data in the MMX register / memory cell, and then stores the high 16 bits of the result into the MMX register.

EG: Pmulhw mm, mm / m64

MM? 011100011100111 01110011100111

Operation * * * *

MM / M64?? 1000000000000000000000000000000000000000000000000000000000000000000000000

Operation HIGH ORDER HIGH ORDER HIGH ORDER HIGH ORDER

MM? 11000111001011100 0000000111000111

Pmullw mm, mm / m64

The multiplication of group data (in the field) is taken:

MMX register is multiplied by the symbolic group data in the MMX register / memory cell, and then stores the low 16 bits of the result in the MMX register. (Refer to the previous one)

POR MM, MM / M64 bitmap or:

The 64-bit data in the MMX register / memory unit is or operated in the MMX register.

PSLLW MM, MM / M64

PSLLD MM, MM / M64

PSLLQ MM, MM / M64

PSLLW MM, IMM8

PSLLD MM, IMM8

PSLLQ MM, IMM8

The logical left shift of group data:

Press the word (double word, four words) data in the MMX register, and move the number of points specified by the MMX register / memory unit, and move into 0.

Press the word (double word, four words) data in the MMX register, and the number of points specified by 8-bit immediately specified, and the low move into 0.

PSRAW MM, MM / M64

PSRAD MM, MM / M64

PSRAW MM, IMM8

Psrad MM, IMM8 in group data arithmetic right shift:

Keep the symbol bits in the MMX register (double word) data in the MMX register / memory unit.

Press the word (double word) data in the MMX register to the right of the number of pieces specified by the 8-digit number, keep the symbol bit.

PSRLW MM, MM / M64

PSRLD MM, MM / M64

PSRLQ MM, MM / M64

PSRLW MM, IMM8

PSRLD MM, IMM8

PSRLQ MM, IMM8 logic right movement of group data:

Press the number of words (dual words) in the MMX register to the right of the number specified by the MMX register / memory unit, and the transfer bit is filled with 0.

Press the word (dual word) data in the MMX register to the right of the number of pieces specified by the 8-digit number, and the transfer bit is filled with 0.

PSUBB MM, MM / M64

PSUBW MM, MM / M64

PSUBD MM, MM / M64 surrounded by group data:

From the MMX register, press byte (word, double word) to subtract the byte (word, double word) group in the MMX register / memory cell. (Note 1)

PSUBSB mm, MM / M64

PSUBSW MM, MM / M64

Saturation is symbolic to group data reduction:

Decreasing the symbol-byte (word) group data in the MMX register / memory cell from the MMX register. (Note 1)

PSUBUSB MM, MM / M64

PSUBUSW MM, MM / M64 saturation method has symbolic group data reduction:

Decreasing the unsigned byte (word) group data in the MMX register / memory cell from the unsigned grouping byte (word) group data in the MMX register. (Note 1)

Punpckhbw mm, mm / m64

Punpckhwd mm, mm / m64

PUNPCKHDQ MM, MM / M64 High Section Data Decomposition: This instruction alternates the high half of the data element of the source operand and the target operand, and the low half of the data element is ignored.

EG: PUNPCKHBW MM, MM / M64

PUNPCKLBW MM, MM / M64

Punpcklwd mm, mm / m64

PUNPCKLDQ MM, MM / M64 low in group data decomposition:

This instruction alternates the low half of the source operand and the number of data elements of the target operand, and the high half of the data element is ignored. (Refer to the previous one)

PXOR MM, MM / M64 is logical or:

The 64-bit data in the MMX register / memory cell is different or the result is stored in the MMX register.

转载请注明原文地址:https://www.9cbs.com/read-71221.html

New Post(0)