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.

add<br />

add ─ 加算 (Add)<br />

書式 : (qp) addr1 = r2 , r3 register_form A1<br />

(qp) addr1 = r2 , r3 , 1 plus1_form, register_form A1<br />

(qp) addr1 = imm, r3 擬似オペ コ ー ド<br />

(qp) addsr1 = imm14 , r3 imm14_form A4<br />

(qp) addlr1 = imm22 , r3 imm22_form A5<br />

説明 : 2 つのソース ・ オペラン ド ( お よ び任意指定の定数 1) が加算 さ れ、 その結果が GR r1 に<br />

格納 さ れる。 register_form では、 第 1 オペラン ド は GR r2 であり、 imm14_form では、 第<br />

1 オペラ ン ド は符号拡張 さ れた imm14 エンコ ーデ ィ ング ・ フ ィ ール ド で与えられ、<br />

imm22_form では、 第 1 オペラ ン ド は符号拡張 さ れた imm22 エンコ ーディ ング ・ フ ィ ール<br />

ドで与えられる。 imm22_form では、 GR r3 は GR 0、 1、 2、 3 しか指定で き ない。<br />

plus1_form は register_form でのみ使用可能である ( ただし、 即値を調整する こ と に よ り、<br />

即値形式で も 同じ結果が得られる )。<br />

即値形式の擬似オペ コ ー ド では、 即値オペラ ン ド と r3 の値の大き さ に基づいて、<br />

imm14_form または imm22_form を選択する。<br />

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

check_target_register(r 1 );<br />

}<br />

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

if (register_form) // register form<br />

tmp_src = GR[r 2 ];<br />

else if (imm14_form) // 14-bit immediate form<br />

tmp_src = sign_ext(imm 14 , 14);<br />

else // 22-bit immediate form<br />

tmp_src = sign_ext(imm 22, 22);<br />

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

if (plus1_form)<br />

GR[r 1 ] = tmp_src + GR[r 3 ] + 1;<br />

else<br />

GR[r 1 ] = tmp_src + GR[r 3 ];<br />

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

第 3 巻 : 命令リファレンス 3:11

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!