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.

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

check_target_register(r 1);<br />

}<br />

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

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

pack<br />

if (two_byte_form) {<br />

if (signed_saturation_form) {<br />

max = sign_ext(0x7f, 8);<br />

min = sign_ext(0x80, 8);<br />

} else { // unsigned_saturation_form<br />

max = 0xff;<br />

min = 0x00;<br />

}<br />

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

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

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

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

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

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

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

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

for (i = 0; i < 8; i++) {<br />

if (temp[i] > max)<br />

temp[i] = max;<br />

}<br />

if (temp[i] < min)<br />

temp[i] = min;<br />

GR[r 1 ] = concatenate8(temp[7], temp[6], temp[5], temp[4],<br />

temp[3], temp[2], temp[1], temp[0]);<br />

} else { // four_byte_form<br />

max = sign_ext(0x7fff, 16); // signed_saturation_form<br />

min = sign_ext(0x8000, 16);<br />

temp[0] = sign_ext(GR[r 2 ]{31:0}, 32);<br />

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

temp[2] = sign_ext(GR[r 3]{31:0}, 32);<br />

temp[3] = sign_ext(GR[r 3 ]{63:32}, 32);<br />

for (i = 0; i < 4; i++) {<br />

if (temp[i] > max)<br />

temp[i] = max;<br />

}<br />

if (temp[i] < min)<br />

temp[i] = min;<br />

GR[r1 ] = concatenate4(temp[3], temp[2], temp[1], temp[0]);<br />

}<br />

GR[r1 ].nat = GR[r2 ].nat || GR[r3 ].nat;

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!