16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

• SignExtend ( 値 ) - 命令のオペラ ン ド ・ サイズ属性に合わせた符号拡張値を返す。 例<br />

えば、 オペラ ン ド ・ サ イ ズ属性が 32 である場合は、 内容が値 -10 であるバイ ト を符<br />

号拡張す る と 、 そのバイ ト は F6H からダブルワード値FFFFFFF6H に変換される。<br />

SignEztend 関数に渡された値 と オペラ ン ド ・ サ イ ズ属性 と が同じ サ イ ズである場合<br />

は、 SignExtend はその値を変えずにそのまま返す。<br />

• SaturateSignedWordToSignedByte - 符号付き 16 ビ ッ ト 値を符号付き 8 ビット値に変<br />

換する。 符号付き 16 ビット値が-128 より小さい場合は、 その値は飽和値-128 (80H)<br />

で表される。 127 よ り 大き い場合は、 飽和値 127 (7FH) で表される。<br />

• SaturateSignedDWordToSignedWord - 符号付き 32 ビ ッ ト 値を符号付き 16 ビッ ト値<br />

に変換す る。 符号付き 32 ビッ ト値が-32768 よ り 小 さ い場合は、 その値は飽和値<br />

-32768 (8000H) で表される。 32767 よ り 大き い場合は、 飽和値 32767 (7FFFH) で表さ<br />

れる。<br />

• SaturateSignedWordToUnsignedByte - 符号付き 16 ビッ ト値を符号なし8ビッ ト値<br />

に変換す る。 符号付き 16 ビッ ト値が0 よ り 小 さ い場合は、 その値は飽和値 0 (00H)<br />

で表される。 255 よ り 大き い場合は、 飽和値 255 (FFH) で表される。<br />

• SaturateToSignedByte - 演算の結果を符号付き 8 ビ ッ ト 値と して表す。 結果が -128<br />

より小さい場合は、 その値は飽和値-128 (80H) で表される。 127 より大きい場合は、<br />

飽和値 127 (7FH) で表される。<br />

• SaturateToSignedWord - 演算の結果を符号付き 16 ビ ッ ト 値 と して表す。 結果が<br />

-32768 より小さい場合は、 その値は飽和値-32768 (8000H) で表される。 32767 より大<br />

き い場合は、 飽和値 32767 (7FFFH) で表される。<br />

• SaturateToUnsignedByte - 演算の結果を符号なし 8 ビ ッ ト 値 と して表す。 結果が 0<br />

より小さい場合は、 その値は飽和値0 (00H) で表される。 255 より大きい場合は、 飽<br />

和値 255 (FFH) で表される。<br />

• SaturateToUnsignedWord - 演算の結果を符号なし 16 ビ ッ ト 値と して表す。 結果が 0<br />

より小さい場合は、 その値は飽和値0 (00H) で表される。 65535 より大きい場合は、<br />

飽和値 65535 (FFFFH) で表される。<br />

• LowOrderWord (DEST * SRC) - ワード・オペランドにワード・オペランドを掛け、<br />

ダブルワードの結果の下位ワードをデスティネーション・オペランドにストアする。<br />

• HighOrderWord (DEST * SRC) - ワード ・オペランドにワード ・ オペランドを掛け、<br />

ダブルワードの結果の上位ワードをデスティネーション・オペランドにストアする。<br />

• Push ( 値 ) - 値をスタ ッ ク にプ ッ シュする。 プ ッ シュ されるバイ ト 数は命令のオペラ<br />

ンド ・サイズ属性によって決まる。<br />

• Pop() - 一番上のス タ ッ ク か ら値を削除し、 その値を返す。 文 EAX ← Pop(); は、 一番<br />

上のス タ ッ ク か ら 32 ビット値をEAX に代入する。 Pop は、 オペラン ド ・ サイズ属<br />

性に応じて、 ワ ー ド かダブルワ ー ド を返す。<br />

• PopRegisterStack - FPU の ST(0) レジスタを空としてマークし、 FPU レジスタ ・ ス<br />

タック ・ポインタ(TOP) を 1 だけインク リ メン ト する。<br />

• Switch-Tasks - タスク ・ スイッチを行う。<br />

• Bit(BitBase, BitOffset) - メモリまたはレジスタ内の一連のビットであるビット・スト<br />

リング内の特定ビットの値を返す。 ビットには、 レジスタ内またはメモリ ・バイト<br />

内で下位か ら上位に番号が割り振られている。 ベー ス ・ オペラン ド がレ ジス タであ<br />

る場合は、 存在可能なオ フ セ ッ ト の範囲は 0 ~ 31 である。 このオフセッ ト は、 指定<br />

されたレジスタ内のビッ ト のアド レスを指定する。 例として、 図 1-1 に関数<br />

Bit[EAX,21] の図解を示す。<br />

第 3 巻 : IA-32 基本命令リファレンス 3:377

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!