24531904_j
24531904_j 24531904_j
PADDSB/PADDSW—Packed Add with Saturation ( 続き ) 実アドレス・モード例外 #GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~ FFFFH の外にある場合。 #UD CR0 の EM がセッ ト された場合。 #NM CR0 の TS がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 仮想 8086 モード例外 #GP オペラ ン ド のいずれかの部分が実効ア ド レ ス空間 0 ~ FFFFH の外にある場合。 #UD CR0 の EM がセッ ト された場合。 #NM CR0 の TS がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:798 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス
PADDUSB/PADDUSW—Packed Add Unsigned with Saturation オペコード 命令 説明 0F DC /r PADDUSB mm, mm/m64 mm/m64 からの符号なしパックド・バイトを mm の符号な しパックド・バイトに加算して飽和させる。 0F DD /r PADDUSW mm, mm/m64 mm/m64 からの符号なしパックド・ワードを mm の符号な しパックド・ワードに加算して飽和させる。 説明 パックされたソース・オペランド ( 第 2 オペラン ド ) の個別のパ ッ ク ド 符号なしデー タ 要素 ( バイ ト またはワー ド ) をパックされたデスティネーション・オペランド ( 第 1 オペ ランド ) の個別のパ ッ ク ド 符号なしデー タ要素に加算する ( 図 2-7 を参照 )。 個別の加算 結果が指定された符号なしデー タ型の範囲を超える と、 結果は飽和される。 デステ ィ ネーション ・ オペランドは、 MMX テクノロジ ・ レジスタでなければならない。 ソース ・ オペラン ド には、 MMX テクノロジ ・ レジスタまたはクワッ ドワード ・ メモリ ・ ロケー ションを使用できる。 図 2-7. PADDUSB 命令の動作 mm mm/m64 mm PADDUSB mm, mm/m64 + + + 00111000 00000111 00111111 3006017 PADDUSB 命令は、 ソース・オペランドの符号なしバイトをデスティネーション・オペ ラ ン ド の符号なしバイ ト に加算し、 結果をデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド に ス ト アす る。 個別の結果が符号なしバイ ト の範囲を超え る場合 ( すなわち、 FFH より大きい場合) は、 FFH の飽和された符号なしバイト値がデスティネーション・オペランドに書き込ま れる。 PADDUSW 命令は、 ソース・オペランドの符号なしワードをデスティネーション・オペ ラ ン ド の符号なし ワ ー ド に加算し、 結果をデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド に ス ト アす る。 個別の結果が符号なし ワ ー ド の範囲を超え る場合 ( すなわち、 FFFFH より大きい場 合 ) は、 FFFFH の飽和された符号なしワード値がデスティネーション・オペランドに書 き込まれる。 第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:799 + + 10000000 + 11111111 11111111 01111111 + 00010111 10010110 +
- Seite 760 und 761: SLDT—Store Local Descriptor Table
- Seite 762 und 763: SMSW—Store Machine Status Word (
- Seite 764 und 765: STD—Set Direction Flag オペコ
- Seite 766 und 767: STI—Set Interrupt Flag ( 続き )
- Seite 768 und 769: STOS/STOSB/STOSW/STOSD—Store Stri
- Seite 770 und 771: STOS/STOSB/STOSW/STOSD—Store Stri
- Seite 772 und 773: STR—Store Task Register ( 続き
- Seite 774 und 775: SUB—Subtract ( 続き ) 保護モ
- Seite 776 und 777: TEST—Logical Compare ( 続き )
- Seite 778 und 779: VERR, VERW—Verify a Segment for R
- Seite 780 und 781: WAIT/FWAIT—Wait オペコード
- Seite 782 und 783: WBINVD—Write Back and Invalidate
- Seite 784 und 785: WRMSR—Write to Model Specific Reg
- Seite 786 und 787: XADD—Exchange and Add ( 続き )
- Seite 788 und 789: XCHG—Exchange Register/Memory wit
- Seite 790 und 791: XLAT/XLATB—Table Look-up Translat
- Seite 792 und 793: XOR—Logical Exclusive OR ( 続き
- Seite 794 und 795: EMMS—Empty MMX State オペコー
- Seite 796 und 797: MOVD—Move 32 Bits ( 続き ) 追
- Seite 798 und 799: MOVQ—Move 64 Bits オペコード
- Seite 800 und 801: PACKSSWB/PACKSSDW—Pack with Signe
- Seite 802 und 803: PACKSSWB/PACKSSDW—Pack with Signe
- Seite 804 und 805: PACKUSWB—Pack with Unsigned Satur
- Seite 806 und 807: PADDB/PADDW/PADDD—Packed Add (
- Seite 808 und 809: PADDSB/PADDSW—Packed Add with Sat
- Seite 812 und 813: PADDUSB/PADDUSW—Packed Add Unsign
- Seite 814 und 815: PAND—Logical AND オペコード
- Seite 816 und 817: PANDN—Logical AND NOT オペコ
- Seite 818 und 819: PCMPEQB/PCMPEQW/PCMPEQD—Packed Co
- Seite 820 und 821: PCMPEQB/PCMPEQW/PCMPEQD—Packed Co
- Seite 822 und 823: PCMPGTB/PCMPGTW/PCMPGTD—Packed Co
- Seite 824 und 825: PMADDWD—Packed Multiply and Add
- Seite 826 und 827: PMULHW—Packed Multiply High オ
- Seite 828 und 829: PMULLW—Packed Multiply Low オペ
- Seite 830 und 831: POR—Bitwise Logical OR オペコ
- Seite 832 und 833: PSLLW/PSLLD/PSLLQ—Packed Shift Le
- Seite 834 und 835: PSLLW/PSLLD/PSLLQ—Packed Shift Le
- Seite 836 und 837: PSRAW/PSRAD—Packed Shift Right Ar
- Seite 838 und 839: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 840 und 841: PSRLW/PSRLD/PSRLQ—Packed Shift Ri
- Seite 842 und 843: PSUBB/PSUBW/PSUBD—Packed Subtract
- Seite 844 und 845: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 846 und 847: PSUBSB/PSUBSW—Packed Subtract wit
- Seite 848 und 849: PSUBUSB/PSUBUSW—Packed Subtract U
- Seite 850 und 851: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 852 und 853: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 854 und 855: PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unp
- Seite 856 und 857: PXOR—Logical Exclusive OR オペ
- Seite 858 und 859: 3:846 第 3 巻 : IA-32 MMX ® テ
PADDUSB/PADDUSW—Packed Add Unsigned with Saturation<br />
オペコード 命令 説明<br />
0F DC /r PADDUSB mm, mm/m64 mm/m64 からの符号なしパックド・バイトを mm の符号な<br />
しパックド・バイトに加算して飽和させる。<br />
0F DD /r PADDUSW mm, mm/m64 mm/m64 からの符号なしパックド・ワードを mm の符号な<br />
しパックド・ワードに加算して飽和させる。<br />
説明<br />
パックされたソース・オペランド ( 第 2 オペラン ド ) の個別のパ ッ ク ド 符号なしデー タ<br />
要素 ( バイ ト またはワー ド ) をパックされたデスティネーション・オペランド ( 第 1 オペ<br />
ランド ) の個別のパ ッ ク ド 符号なしデー タ要素に加算する ( 図 2-7 を参照 )。 個別の加算<br />
結果が指定された符号なしデー タ型の範囲を超える と、 結果は飽和される。 デステ ィ<br />
ネーション ・ オペランドは、 MMX テクノロジ ・ レジスタでなければならない。 ソース ・<br />
オペラン ド には、 MMX テクノロジ ・ レジスタまたはクワッ ドワード ・ メモリ ・ ロケー<br />
ションを使用できる。<br />
図 2-7. PADDUSB 命令の動作<br />
mm<br />
mm/m64<br />
mm<br />
PADDUSB mm, mm/m64<br />
+<br />
+<br />
+<br />
00111000<br />
00000111<br />
00111111<br />
3006017<br />
PADDUSB 命令は、 ソース・オペランドの符号なしバイトをデスティネーション・オペ<br />
ラ ン ド の符号なしバイ ト に加算し、 結果をデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド に ス ト アす<br />
る。 個別の結果が符号なしバイ ト の範囲を超え る場合 ( すなわち、 FFH より大きい場合)<br />
は、 FFH の飽和された符号なしバイト値がデスティネーション・オペランドに書き込ま<br />
れる。<br />
PADDUSW 命令は、 ソース・オペランドの符号なしワードをデスティネーション・オペ<br />
ラ ン ド の符号なし ワ ー ド に加算し、 結果をデス テ ィ ネ ー シ ョ ン ・ オペラ ン ド に ス ト アす<br />
る。 個別の結果が符号なし ワ ー ド の範囲を超え る場合 ( すなわち、 FFFFH より大きい場<br />
合 ) は、 FFFFH の飽和された符号なしワード値がデスティネーション・オペランドに書<br />
き込まれる。<br />
第 3 巻 : IA-32 MMX ® テクノロジ命令リファレンス 3:799<br />
+<br />
+<br />
10000000<br />
+<br />
11111111<br />
11111111<br />
01111111<br />
+<br />
00010111<br />
10010110<br />
+