24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

mov ─ ユーザ・マスクの移動 (Move User Mask) mov um 書式 : (qp) movr 1 = psr.um from_form M36 (qp) mov psr.um = r 2 to_form M35 説明 : ソース・オペランドがデスティネーション・レジスタにコピーされる ユ ーザ ・ マス ク か ら の移動では、 PSR {5:0} が読み込まれ、 ゼロ拡張されて、 GR r1 にコ ピーされる。 ユーザ ・ マスクへの移動では、 GR r2 のビッ ト {5:0} が PSR {5:0} に書き込まれる。 PSR.up を変更で き る のは、 機密保護パ フ ォ ー マン ス監視ビ ッ ト (PSR.sp) が 0 の場合に限 ら れる。 それ以外の場合は、 PSR.up は変更されない。 PSR の他の部分にゼロでない値を書き込むと、 予約レジスタ / フィールド ・フォルトが 発生す る。 操作 : if (PR[qp]) { if (from_form) { check_target_register(r 1); } GR[r 1 ] = zero_ext(PSR{5:0}, 6); GR[r 1].nat = 0; } else { // to_form if (GR[r 2 ].nat) register_nat_consumption_fault(0); } if (is_reserved_field(PSR_TYPE, PSR_UM, GR[r 2 ])) reserved_register_field_fault(); PSR{1:0} = GR[r 2 ]{1:0}; if (PSR.sp == 0) // unsecured perf monitor PSR{2} = GR[r 2 ]{2}; PSR{5:3} = GR[r 2 ]{5:3}; 割り込み : 無効操作フ ォル ト 予約レジスタ / フィールド ・フォルト レジスタ NaT 参照フ ォ ル ト シリアル化 : すべてのユーザ ・ マスクの変更は、 次の命令グループによ って検出される。 3:168 第 3 巻 : 命令リファレンス

movl movl ─ ロング型即値の移動 (Move Long Immediate) 書式 : (qp) movlr 1 = imm 64 X2 説明 : 即値 imm 64 が GR r 1 にコピーされる。 バンドルのL スロッ トに imm 64 の 41 ビッ トが入 る。 操作 : if (PR[qp]) { check_target_register(r 1 ); } GR[r 1] = imm 64; GR[r 1 ].nat = 0; 割り込み : 無効操作フ ォ ル ト 第 3 巻 : 命令リファレンス 3:169

movl<br />

movl ─ ロング型即値の移動 (Move Long Immediate)<br />

書式 : (qp) movlr 1 = imm 64 X2<br />

説明 : 即値 imm 64 が GR r 1 にコピーされる。 バンドルのL スロッ トに imm 64 の 41 ビッ トが入<br />

る。<br />

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

check_target_register(r 1 );<br />

}<br />

GR[r 1] = imm 64;<br />

GR[r 1 ].nat = 0;<br />

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

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!