
6
6-
4
1
P
R
E
L
IM
IN
A
R
Y
C
P
U
In
str
u
cti
o
n
S
e
t
S
u
m
a
r
y
PSRAW Packed Shift Right Arithmetic Word
MMX Register 1 by MMX Register 2
MMX Register by Memory
MMX Register by Immediate
4
1
0FE1 [11 mm1 mm2]
0FE1 [mod mm r/m]
0F71 [11 100 mm] #
MMX reg 1 [word] <--arith shift right, shifting in zeroes by MMX reg 2 [word]--
MMX reg [word] <--arith shift right, shifting in zeroes by memory[word--]
MMX reg [word] <--arith shift right, shifting in zeroes by [im byte]--
1/1
PSRLD Packed Shift Right Logical Dword
MMX Register 1 by MMX Register 2
MMX Register by Memory
MMX Register by Immediate
4
2
0FD2 [11 mm1 mm2]
0FD2 [mod mm r/m]
0F72 [11 010 mm] #
MMX reg 1 [dword] <--shift right, shifting in zeroes by MMX reg 2 [dword]--
MMX reg [dword] <--shift right, shifting in zeroes by memory[dword]--
MMX reg [dword] <--shift right, shifting in zeroes by[im byte]--
1/1
PSRLQ Packed Shift Right Logical Qword
MMX Register 1 by MMX Register 2
MMX Register by Memory
MMX Register by Immediate
4
3
0FD3 [11 mm1 mm2]
0FD3 [mod mm r/m]
0F73 [11 010 mm] #
MMX reg 1 [qword] <--shift right, shifting in zeroes by MMX reg 2 [qword]
MMX reg [qword] <--shift right, shifting in zeroes by memory[qword]
MMX reg [qword] <--shift right, shifting in zeroes by [im byte]
1/1
PSRLW Packed Shift Right Logical Word
MMX Register 1 by MMX Register 2
MMX Register by Memory
MMX Register by Immediate
4
0FD1 [11 mm1 mm2]
0FD1 [mod mm r/m]
0F71 [11 010 mm] #
MMX reg 1 [word] <--shift right, shifting in zeroes by MMX reg 2 [word]
MMX reg [word] <--shift right, shifting in zeroes by memory[word]
MMX reg [word] <--shift right, shifting in zeroes by imm[word]
1/1
PSUBB Subtract Byte With Wrap-Around
MMX Register 2 to MMX Register1
Memory to MMX Register
4
5
0FF8 [11 mm1 mm2]
0FF8 [mod mm r/m]
MMX reg 1 [byte] <---- MMX reg 1 [byte] subtract MMX reg 2 [byte]
MMX reg [byte] <---- MMX reg [byte] subtract memory [byte]
1/1
PSUBD Subtract Dword With Wrap-Around
MMX Register 2 to MMX Register1
Memory to MMX Register
4
6
0FFA [11 mm1 mm2]
0FFA [mod mm r/m]
MMX reg 1 [dword] <---- MMX reg 1 [dword] subtract MMX reg 2 [dword]
MMX reg [dword] <---- MMX reg [dword] subtract memory [dword]
1/1
PSUBSB Subtract Byte Signed With Saturation
MMX Register 2 to MMX Register1
Memory to MMX Register
4
7
0FE8 [11 mm1 mm2]
0FE8 [mod mm r/m]
MMX reg 1 [sign byte] <--sat-- MMX reg 1 [sign byte] subtract MMX reg 2 [sign byte]
MMX reg [sign byte] <--sat-- MMX reg [sign byte] subtract memory [sign byte]
1/1
PSUBSW Subtract Word Signed With Saturation
MMX Register 2 to MMX Register1
Memory to MMX Register
4
9
0FE9 [11 mm1 mm2]
0FE9 [mod mm r/m]
MMX reg 1 [sign word] <--sat-- MMX reg 1 [sign word] subtract MMX reg 2 [sign word]
MMX reg [sign word] <--sat-- MMX reg [sign word] subtract memory [sign word]
1/1
PSUBUSB Subtract Byte Unsigned With Saturation
MMX Register 2 to MMX Register1
Memory to MMX Register
5
0
0FD8 [11 mm1 mm2]
0FD8 [11 mm reg]
MMX reg 1 [byte] <--sat-- MMX reg 1 [byte] subtract MMX reg 2 [byte]
MMX reg [byte] <--sat-- MMX reg [byte] subtract memory [byte]
1/1
PSUBUSW Subtract Word Unsigned With Saturation
MMX Register 2 to MMX Register1
Memory to MMX Register
5
1
0FD9 [11 mm1 mm2]
0FD9 [11 mm reg]
MMX reg 1 [word] <--sat-- MMX reg 1 [word] subtract MMX reg 2 [word]
MMX reg [word] <--sat-- MMX reg [word] subtract memory [word]
1/1
PSUBW Subtract Word With Wrap-Around
MMX Register 2 to MMX Register1
Memory to MMX Register
5
2
0FF9 [11 mm1 mm2]
0FF9 [mod mm r/m]
MMX reg 1 [word] <---- MMX reg 1 [word] subtract MMX reg 2 [word]
MMX reg [word] <---- MMX reg [word] subtract memory [word]
1/1
Table 6-25. M II Processor MMX Instruction Set Clock Count Summary (Continued)
MMX INSTRUCTIONS
OPCODE
OPERATION
CLOCK
COUNT
LATENCY/
THROUGHPUT