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.

fchkf ─ 浮動小数点フラグ・チェック (Floating-point Check Flags)<br />

書式 : (qp) fchkf.sf target 25 F14<br />

説明 : FPSR.sf.flags のフラグが FPSR.s0.flags および FPSR.traps と比較される。 FPSR.sf.flags 内の<br />

セ ッ ト されている フ ラグのなかでイネ ーブルに されている FPSR.traps に対応する も のが<br />

ある場合、 あるいは FPSR.sf.flags 内のセ ッ ト されている フ ラグのなかで FPSR.s0.flags に<br />

セ ッ ト さ れていない も のがあ る場合に は、 target25 への分岐が発生する。<br />

target25 オペラ ン ド に は分岐先の ラベルを指定す る。 こ れで、 こ の命令を含むバン ド ルか<br />

ら 分岐先バン ド ル ま での変位が計算 さ れて、 符号付き即値 (imm21 ) として命令にエン<br />

コードされる (imm21 = target25 - IP >> 4)。<br />

こ の命令の分岐動作は、 オプシ ョ ン に よ り 、 実装しな く て も よ い。 分岐動作が実装 さ れ<br />

ていないに も かかわ ら ず、 こ の命令が分岐した場合は、 スペキ ュ レ ー テ ィ ブ操作フ ォ ル<br />

トが発生し、 imm21 で指定された値がゼロ拡張されて、 割り込み即値コ ン ト ロ ール ・ レ<br />

ジスタ (IIM) に格納される。 フ ォル ト ・ ハン ド ラは、 IIM の値を符号拡張して IIP に加算<br />

し、 制御を戻す と、 分岐をエ ミ ュ レー ト する。<br />

sf のニーモニ ッ ク値は 3:50 ページの表 2-23 に示している。<br />

操作 : if (PR[qp]) {<br />

switch (sf) {<br />

case ‘s0’:<br />

tmp_flags = AR[FPSR].sf0.flags;<br />

break;<br />

case ‘s1’:<br />

tmp_flags = AR[FPSR].sf1.flags;<br />

break;<br />

case ‘s2’:<br />

tmp_flags = AR[FPSR].sf2.flags;<br />

break;<br />

case ‘s3’:<br />

tmp_flags = AR[FPSR].sf3.flags;<br />

break;<br />

}<br />

if ((tmp_flags & ~AR[FPSR].traps) || (tmp_flags & ~AR[FPSR].sf0.flags)) {<br />

if (check_branch_implemented(FCHKF)) {<br />

taken_branch = 1;<br />

IP = IP + sign_ext((imm 21

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!