24531904_j
24531904_j 24531904_j
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
- Seite 129 und 130: frsqrta } PR[p 2 ] = 0; // fp_ieee_
- Seite 131 und 132: fsetc fsetc ─ 浮動小数点コ
- Seite 133 und 134: fswap fswap ─ 浮動小数点ス
- Seite 135 und 136: fsxt fsxt ─ 浮動小数点符号
- Seite 137 und 138: fxor fxor ─ 浮動小数点排他
- Seite 139 und 140: getf } GR[r 1 ] = FR[f 2 ].signific
- Seite 141 und 142: invala invala ─ ALAT の無効化
- Seite 143 und 144: itc 割り込み : マシン ・
- Seite 145 und 146: itr シリアル化 : instruction_f
- Seite 147 und 148: ld 表 2-33. ロード・タイプ(
- Seite 149 und 150: ld if (check && alat_cmp(GENERAL, r
- Seite 151 und 152: ldf ldf ─ 浮動小数点ロー
- Seite 153 und 154: ldf ldfe でのみ発生する。
- Seite 155 und 156: ldfp ldfp ─ 浮動小数点ペア
- Seite 157 und 158: ldfp } } if (base_update_form) { //
- Seite 159 und 160: lfetch 表 2-38. lfhint のニー
- Seite 161 und 162: loadrs loadrs ─ レジスタ・
- Seite 163 und 164: mix mix ─ ミックス (Mix) 書
- Seite 165 und 166: mix 操作 : if (PR[qp]) { check_ta
- Seite 167 und 168: mov ar 操作 : if (PR[qp]) { tmp_t
- Seite 169 und 170: mov cr mov ─ コントロール
- Seite 171 und 172: mov fr mov ─ 浮動小数点レ
- Seite 173 und 174: mov imm mov ─ 即値の移動 (Mo
- Seite 175 und 176: mov indirect 操作 : if (PR[qp]) {
- Seite 177 und 178: mov ip mov ─ 命令ポインタ
- Seite 179: mov psr mov ─ プロセッサ・
- Seite 183 und 184: mux 図 2-27. Mux2 の例 (16 ビ
- Seite 185 und 186: nop nop ─ ノー・オペレー
- Seite 187 und 188: pack pack ─ パック (Pack) 書
- Seite 189 und 190: padd padd ─ 並列加算 (Paralle
- Seite 191 und 192: padd } 割り込み : 無効操作
- Seite 193 und 194: pavg 図 2-31. 並列平均での
- Seite 195 und 196: pavgsub pavgsub ─ 並列平均減
- Seite 197 und 198: pcmp pcmp ─ 並列比較 (Paralle
- Seite 199 und 200: pmax pmax ─ 並列最大値 (Para
- Seite 201 und 202: pmpy pmpy ─ 並列乗算 (Paralle
- Seite 203 und 204: pmpyshr 操作 : if (PR[qp]) { chec
- Seite 205 und 206: probe probe ─ アクセスのプ
- Seite 207 und 208: psad psad ─ 並列絶対差累計
- Seite 209 und 210: pshladd pshladd ─ 並列左シフ
- Seite 211 und 212: pshr } 割り込み : 無効操作
- Seite 213 und 214: psub psub ─ 並列減算 (Paralle
- Seite 215 und 216: psub } 割り込み : 無効操作
- Seite 217 und 218: ptc.g, ptc.ga ptc.g, ptc.ga ─ グ
- Seite 219 und 220: ptc.l ptc.l ─ ローカル・ト
- Seite 221 und 222: ptr 割り込み : 特権操作フ
- Seite 223 und 224: fi この命令を発行する前
- Seite 225 und 226: sm rsm ─ システム・マスク
- Seite 227 und 228: um rum ─ ユーザ・マスクの
- Seite 229 und 230: setf 操作 : if (PR[qp]) { fp_chec
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