16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

FSUB/FSUBP/FISUB—Subtract<br />

オペコード 命令 説明<br />

D8 /4 FSUB m32real ST(0) から m32real を引き、結果を ST(0) にストアする。<br />

DC /4 FSUB m64real ST(0) から m64real を引き、結果を ST(0) にストアする。<br />

D8 E0+i FSUB ST(0), ST(i) ST(0) から ST(i) を引き、結果を ST(0) にストアする。<br />

DC E8+i FSUB ST(i), ST(0) ST(i) から ST(0) を引き、結果を ST(i) にストアする。<br />

DE E8+i FSUBP ST(i), ST(0) ST(i) から ST(0) を引き、結果を ST(i) にストアし、レジスタ・ス<br />

タックをポップする。<br />

DE E9 FSUBP ST(1) から ST(0) を引き、結果を ST(1) にストアし、レジスタ・ス<br />

タックをポップする。<br />

DA /4 FISUB m32int ST(0) から m32int を引き、結果を ST(0) にストアする。<br />

DE /4 FISUB m16int ST(0) から m16int を引き、結果を ST(0) にストアする。<br />

説明<br />

デスティネーション ・ オペランドからソース ・ オペランドを引き、 結果をデスティネー<br />

ション・ロケーションにストアする。 デスティネーション・オペランドは、 常にFPU<br />

データ ・ レジスタである。 ソース ・ オペランドには、 レジスタまたはメモリ ・ ロケー<br />

シ ョ ン を使用で き る。 メ モ リ 内の ソ ー ス ・ オペラ ン ド に は、 単精度実数、 倍精度実数、<br />

ワ ー ド 整数、 ま たはシ ョ ー ト 整数のフ ォ ーマ ッ ト を使用でき る。<br />

この命令のオペランドなしバージョンでは、 ST(1) レジスタの内容から ST(0) レジスタの<br />

内容を引き、 結果を ST(1) レジスタにストアする。 1 オペラン ド ・ バージ ョ ンでは、<br />

ST(0) レジスタの内容からメモリ ・ ロケーションの内容( 実数値 ま たは整数値 ) を引き、<br />

結果を ST(0) にス トアする。 2 オペラン ド ・ バージ ョ ンでは、 ST(i) レジスタの内容から<br />

ST(0) レ ジスタの内容を引 く か、 またはその逆の減算を行 う。<br />

FSUBP 命令は、 減算の後に、 追加操作 と して FPU レジスタ ・ スタックをポップする。<br />

レジスタ ・ スタックをポップするため、 プロセッサは ST(0) レジスタを空としてマーク<br />

し、 スタ ッ ク ・ ポインタ (TOP) を 1 イ ン ク リ メ ン ト す る。 浮動小数点減算命令のオペラ<br />

ンドなしバージョンでは、 常にレジスタ・スタックのポップ操作を伴う。 一部のアセン<br />

ブラでは、 この命令のニーモニックは FSUBP ではな く FSUB になっている。<br />

FISUB 命令は、 整数の ソ ー ス ・ オペラ ン ド を拡張実数フ ォ ー マ ッ ト に変換してか ら 減算<br />

を行う。<br />

以下の表に、 アンダフローもオーバフローも発生しないものとして、 さまざまなクラス<br />

の数の減算を行ったと きに得られる結果を示す。 この表では、 DEST 値か ら SRC 値が引<br />

かれる (DEST - SRC = 結果 )。<br />

同符号の 2 つのオペラン ド の差が 0 のときは、 - ∞方向の丸めモー ド の場合を除いて、 結<br />

果は +0 になる。 - ∞方向の丸めモー ド の場合、 結果は -0 になる。 この命令は、 +0 - (-0)<br />

= +0、 -0 - (+0) = -0 の結果 も 保証す る。 ソ ー ス ・ オペラ ン ド は、 整数 0 のときは +0 とし<br />

て取り扱われる。<br />

一方のオペラ ン ド が∞の と き は、 結果は予期 さ れる符号の∞にな る。 両方のオペラ ン ド<br />

が同じ符号で無限大の と き は、 無効操作例外が発生す る。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!