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.

getf ─ 浮動小数点値、指数、仮数の取得<br />

(Get Floating-point Value or Exponent or Significand)<br />

書式 : (qp) getf.sr 1 = f 2 single_form M19<br />

(qp) getf.dr 1 = f 2 double_form M19<br />

(qp) getf.exp r 1 = f 2 exponent_form M19<br />

(qp) getf.sigr 1 = f 2 significand_form M19<br />

説明 : single_form および double_form では、 第 1 巻、 第 1 部の図 5-4 と 第 1 巻、 第 1 部の図 5-5<br />

にそれぞれ示 さ れる よ う に、 FR f2 の値が単精度 (single_form) ま たは倍精度 (double_form)<br />

メ モ リ 表現に変換 さ れ、 GR r1 に格納される。 single_form では、 GR r1 の最上位の 32<br />

ビッ トが0 に設定される。<br />

exponent_form では、 FR f2 の指数フ ィ ール ド が GR r1 のビッ ト 16:0 にコピーされ、 FR f2 の値の符号ビ ッ ト が GR r1 のビッ ト 17 にコピーされる。 GR r1 の最上位の 46 ビットが0<br />

に設定される。<br />

図 2-23. getf.exp の機能<br />

significand_form では、 FR f 2 の値の仮数フ ィ ール ド が GR r 1 にコピーされる。<br />

図 2-24. getf.sig の機能<br />

FR f 2<br />

GR r 1<br />

FR f 2<br />

GR r 1<br />

s 指数<br />

仮数<br />

すべての形式について、 FR f 2 が NaTVal である場合は、 GR r 1 に対応する NaT ビッ トが1<br />

に設定される。<br />

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

check_target_register(r 1 );<br />

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

disabled_fp_register_fault(tmp_isrcode, 0);<br />

s<br />

63<br />

指数<br />

63<br />

if (single_form) {<br />

GR[r 1]{31:0} = fp_fr_to_mem_format(FR[f 2], 4, 0);<br />

GR[r 1 ]{63:32} = 0;<br />

} else if (double_form) {<br />

GR[r 1] = fp_fr_to_mem_format(FR[f 2], 8, 0);<br />

} else if (exponent_form) {<br />

GR[r 1 ]{63:18} = 0;<br />

GR[r 1]{16:0} = FR[f 2].exponent;<br />

GR[r 1 ]{17} = FR[f 2 ].sign;<br />

} else // significand_form<br />

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

0<br />

46<br />

64<br />

18<br />

1<br />

仮数<br />

16<br />

17<br />

0<br />

0<br />

getf

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!