24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

FSAVE/FNSAVE—Store FPU State ( 続き ) 操作 (* Save FPU State and Registers *) DEST(FPUControlWord) ← FPUControlWord; DEST(FPUStatusWord) ← FPUStatusWord; DEST(FPUTagWord) ← FPUTagWord; DEST(FPUDataPointer) ← FPUDataPointer; DEST(FPUInstructionPointer) ← FPUInstructionPointer; DEST(FPULastInstructionOpcode) ← FPULastInstructionOpcode; DEST(ST(0)) ← ST(0); DEST(ST(1)) ← ST(1); DEST(ST(2)) ← ST(2); DEST(ST(3)) ← ST(3); DEST(ST(4)) ← ST(4); DEST(ST(5)) ← ST(5); DEST(ST(6)) ← ST(6); DEST(ST(7)) ← ST(7); (* Initialize FPU *) FPUControlWord ← 037FH; FPUStatusWord ← 0; FPUTagWord ← FFFFH; FPUDataPointer ← 0; FPUInstructionPointer ← 0; FPULastInstructionOpcode ← 0; FPU 影響を受けるフラグ C0、 C1、 C2、 C3 フ ラ グがセ ー ブ さ れ、 次に ク リ ア さ れる。 浮動小数点例外 なし。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 3:528 第 3 巻 : IA-32 基本命令リファレンス

FSAVE/FNSAVE—Store FPU State ( 続き ) 保護モード例外 #GP(0) デステ ィ ネー シ ョ ンが書き込み不可能なセグメ ン ト にある 場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタを使用してメモリがア クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ クタであった場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 仮想 8086 モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #NM CR0 の EM または TS がセッ ト された場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 インテル・アーキテクチャにおける互換性 インテル Pentium プロセッサよ り以前のインテル ® 数値演算 コ プ ロ セ ッ サお よ び FPU の 場合は、 前の FSAVE/FNSAVE 命令でス トアされたメモリ ・ イメージから読み取る前に、 FWAIT 命令を実行す る。 こ の FWAIT 命令に よ っ て、 よ り 確実に ス ト ア操作を完了で き る。 第 3 巻 : IA-32 基本命令リファレンス 3:529

FSAVE/FNSAVE—Store FPU State ( 続き )<br />

保護モード例外<br />

#GP(0) デステ ィ ネー シ ョ ンが書き込み不可能なセグメ ン ト にある<br />

場合。<br />

メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

DS、 ES、 FS、 または GS レジスタを使用してメモリがア<br />

クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ<br />

クタであった場合。<br />

#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

#NM CR0 の EM または TS がセッ ト された場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが<br />

イネーブルにされていて、 アライメントが合わないメモリ<br />

参照が行われた場合。<br />

実アドレス・モード例外<br />

#GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

#SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

#NM CR0 の EM または TS がセッ ト された場合。<br />

仮想 8086 モード例外<br />

#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

#SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範<br />

囲外の場合。<br />

#NM CR0 の EM または TS がセッ ト された場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />

イ メン ト が合わないメモ リ 参照が行われた場合。<br />

インテル・アーキテクチャにおける互換性<br />

インテル Pentium プロセッサよ り以前のインテル ® 数値演算 コ プ ロ セ ッ サお よ び FPU の<br />

場合は、 前の FSAVE/FNSAVE 命令でス トアされたメモリ ・ イメージから読み取る前に、<br />

FWAIT 命令を実行す る。 こ の FWAIT 命令に よ っ て、 よ り 確実に ス ト ア操作を完了で き<br />

る。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!