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.

pmpy<br />

pmpy ─ 並列乗算 (Parallel Multiply)<br />

書式 : (qp) pmpy2.r r 1 = r 2 , r 3 right_form I2<br />

(qp) pmpy2.l r 1 = r 2 , r 3 left_form I2<br />

説明 : GR r 2 の 2 つの符号付き 16 ビット ・データ要素が、 図 2-36 に示すよ う に、 GR r 3 の対応<br />

する 2 つの符号付き 16 ビッ ト ・データ要素と乗算される。 2 つの 32 ビ ッ ト の結果が GR<br />

r 1 に格納される。<br />

図 2-36. 並列乗算の操作<br />

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

check_target_register(r 1 );<br />

}<br />

GR r 3 :<br />

GR r 2 :<br />

GR r 1 :<br />

割り込み : 無効操作フ ォ ル ト<br />

*<br />

pmpy2.l<br />

if (right_form) {<br />

GR[r 1 ]{31:0} = sign_ext(GR[r 2 ]{15:0}, 16) *<br />

sign_ext(GR[r 3]{15:0}, 16);<br />

GR[r 1 ]{63:32} = sign_ext(GR[r 2 ]{47:32}, 16) *<br />

sign_ext(GR[r 3 ]{47:32}, 16);<br />

} else { // left_form<br />

GR[r 1 ]{31:0} = sign_ext(GR[r 2 ]{31:16}, 16) *<br />

sign_ext(GR[r 3 ]{31:16}, 16);<br />

GR[r 1]{63:32} = sign_ext(GR[r 2]{63:48}, 16) *<br />

sign_ext(GR[r 3 ]{63:48}, 16);<br />

}<br />

GR[r 1 ].nat = GR[r 2 ].nat || GR[r 3 ].nat;<br />

*<br />

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

GR r 3 :<br />

GR r 2 :<br />

GR r 1 :<br />

*<br />

pmpy2.r<br />

*

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!