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.

fpack ─ 浮動小数点パック (Floating-point Pack)<br />

fpack<br />

書式 : (qp) fpack f 1 = f 2 , f 3 pack_form F9<br />

説明 : FR f2 およびFR f3 に格納 さ れてい る レ ジ ス タ形式の 2 つの数値が単精度の メ モ リ 形式に<br />

変換 さ れる。 こ れ ら 2 つの単精度数値が連結 さ れ、 FR f1 の仮数フ ィ ール ド に格納され<br />

る。 FR f1 の指数フ ィ ール ド は 2.063 (0x1003E) のバイアス付き指数に設定され、 FR f1 の<br />

符号フ ィ ー ル ド は正に対応す る 0 に設定される。<br />

FR f2 か FR f3 が NaTVal である場合は、 FR f1 は計算結果ではな く NaTVal に設定される。<br />

図 2-14. 浮動小数点パック<br />

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

fp_check_target_register(f 1 );<br />

if (tmp_isrcode = fp_reg_disabled(f 1 , f 2 , f 3 , 0))<br />

disabled_fp_register_fault(tmp_isrcode, 0);<br />

}<br />

FP 例外 : なし。<br />

FR f 2<br />

81 80 64 63 0 81 80 64 63<br />

0<br />

FR f 1<br />

82 ビットの FR から単精度メモリ形式への変換<br />

81 80 64 63 32 31<br />

0<br />

0 1003E<br />

if (fp_is_natval(FR[f 2 ]) || fp_is_natval(FR[f 3 ])) {<br />

FR[f 1] = NATVAL;<br />

} else {<br />

tmp_res_hi = fp_single(FR[f 2 ]);<br />

tmp_res_lo = fp_single(FR[f 3]);<br />

FR[f1 ].significand = fp_concatenate(tmp_res_hi, tmp_res_lo);<br />

FR[f1].exponent = FP_INTEGER_EXP;<br />

FR[f1 ].sign = FP_SIGN_POSITIVE;<br />

}<br />

fp_update_psr(f1); 割り込み : 無効操作フ ォ ル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト<br />

3:86 第 3 巻 : 命令リファレンス<br />

FR f 3

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!