4:446
Volume 4: IA-32 Intel
®
MMX™ Technology Instruction Reference
PSUBB/PSUBW/PSUBD—Packed Subtract
Description
Subtracts the individual data elements (bytes, words, or doublewords) of the source
operand (second operand) from the individual data elements of the destination operand
(first operand). (See
.) If the result of a subtraction exceeds the range for
the specified data type (overflows), the result is wrapped around, meaning that the
result is truncated so that only the lower (least significant) bits of the result are
returned (that is, the carry is ignored).
The destination operand must be an MMX technology register; the source operand can
be either an MMX technology register or a quadword memory location.
The PSUBB instruction subtracts the bytes of the source operand from the bytes of the
destination operand and stores the results to the destination operand. When an
individual result is too large to be represented in 8 bits, the lower 8 bits of the result
are written to the destination operand and therefore the result wraps around.
The PSUBW instruction subtracts the words of the source operand from the words of the
destination operand and stores the results to the destination operand. When an
individual result is too large to be represented in 16 bits, the lower 16 bits of the result
are written to the destination operand and therefore the result wraps around.
The PSUBD instruction subtracts the doublewords of the source operand from the
doublewords of the destination operand and stores the results to the destination
operand. When an individual result is too large to be represented in 32 bits, the lower
32 bits of the result are written to the destination operand and therefore the result
wraps around.
Opcode
Instruction
Description
0F F8 /r
PSUBB
mm, mm/m64
Subtract packed bytes in
mm/m64
from packed bytes in
mm
.
0F F9 /r
PSUBW
mm, mm/m64
Subtract packed words in
mm/m64
from packed words in
mm
.
0F FA /r
PSUBD
mm, mm/m64
Subtract packed doublewords in
mm/m64
from packed
doublewords in
mm
.
Figure 3-19. Operation of the PSUBW Instruction
3006028
PSUBW mm, mm/m64
mm
mm/m64
mm
1000000000000000
0000000000000001
0111111111111111
0111111100111000
1110100011111001
1001011000111111
–
–
–
–
Содержание ITANIUM ARCHITECTURE
Страница 1: ......
Страница 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Страница 269: ...4 262 Volume 4 Base IA 32 Instruction Reference LES Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 270: ...Volume 4 Base IA 32 Instruction Reference 4 263 LFS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 273: ...4 266 Volume 4 Base IA 32 Instruction Reference LGS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 288: ...Volume 4 Base IA 32 Instruction Reference 4 281 LSS Load Full Pointer See entry for LDS LES LFS LGS LSS ...
Страница 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Страница 368: ...Volume 4 Base IA 32 Instruction Reference 4 361 SHL SHR Shift Instructions See entry for SAL SAR SHL SHR ...
Страница 373: ...4 366 Volume 4 Base IA 32 Instruction Reference SIDT Store Interrupt Descriptor Table Register See entry for SGDT SIDT ...
Страница 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Страница 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Страница 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Страница 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Страница 604: ......