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.

pshl ─ 並列左シフト (Parallel Shift Left)<br />

書式 : (qp) pshl2r 1 = r 2 , r 3 two_byte_form, variable_form I7<br />

(qp) pshl2r 1 = r 2 , count 5 two_byte_form, fixed_form I8<br />

(qp) pshl4r 1 = r 2 , r 3 four_byte_form, variable_form I7<br />

(qp) pshl4r 1 = r 2 , count 5 four_byte_form, fixed_form I8<br />

説明 : GR r 2 の各デー タ要素が、 GR r 3 または即値フ ィールド count 5 のスカラ ・ シフ ト ・ カウン<br />

ト だけ、 それぞれ独立に左にシフ ト される。 各要素の下位ビ ッ ト にはゼロが埋められる。<br />

シフ ト ・ カウント は符号なしとして解釈される。 シフ ト ・ カウン トが 15 (16 ビッ トの数<br />

値の場合 ) あるいは 31 (32 ビ ッ ト の数値の場合 ) を超え る場合は、 結果はすべてゼ ロ ・<br />

ビッ トになる。 結果はGR r 1 に格納される。<br />

図 2-39. 並列左シフトの例<br />

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

check_target_register(r 1 );<br />

}<br />

GR r 2 :<br />

GR r 1 :<br />

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

0<br />

shift_count = (variable_form ? GR[r 3 ] : count 5 );<br />

tmp_nat = (variable_form ? GR[r 3 ].nat : 0);<br />

if (two_byte_form) { // two_byte_form<br />

if (shift_count u> 16)<br />

shift_count = 16;<br />

GR[r 1 ]{15:0} = GR[r 2 ]{15:0}

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!