24531904_j
24531904_j 24531904_j
} alat_inval_multiple_entries(paddr, size); if (imm_base_update_form) { GR[r 3 ] = GR[r 3 ] + sign_ext(imm 9 , 9); GR[r 3].nat = 0; mem_implicit_prefetch(GR[r 3 ], sthint, WRITE); } 割り込み : 無効操作フ ォ ル ト デー タ NaT ページ参照フォル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト デー タ ・ キ ー ・ ミ ス ・ フ ォ ル ト レジスタ NaT 参照フ ォ ル ト デー タ ・ キ ー許可フ ォ ル ト 実装 さ れていないデ ー タ ・ ア ド レ ス ・ フ ォ ル ト デー タ ・ ア ク セス権フ ォ ル ト データがネス ト された TLB フォルト データ・ダーティ・ビット ・フォルト 別のデー タ TLB フォルト データ・アクセス・ビット ・フォルト VHPT データ ・ フォル ト データ ・ デバッグ ・ フォル ト データ TLB フォルト アライメントの合っていない データ ・ ページ不在フォルト データ参照フォルト 3:228 第 3 巻 : 命令リファレンス stf
sub sub ─ 減算 (Subtract) 書式 : (qp) subr 1 = r 2 , r 3 register_form A1 (qp) subr 1 = r 2 , r 3 , 1 minus1_form, register_form A1 (qp) subr 1 = imm 8 , r 3 imm8_form A3 説明 : 第 2 ソース・オペランド ( および任意設定の定数1) が第 1 オペラ ン ド か ら 減算 さ れ、 結 果が GR r1 に格納される。 レジスタ形式では、 第 1 オペラン ド は GR r2 であ り 、 即値形 式では、 第 1 オペラ ン ド は符号拡張 さ れた imm8 のエンコ ーデ ィ ング ・ フ ィ ール ド で与 えられる。 minus1_form は、 register_form でのみ使用可能である ( ただし、 即値を調整する と、 即値 形式で も 同じ結果が得 ら れる )。 操作 : if (PR[qp]) { check_target_register(r 1 ); } 割り込み : 無効操作フ ォ ル ト tmp_src = (register_form ? GR[r 2 ] : sign_ext(imm 8 , 8)); tmp_nat = (register_form ? GR[r 2 ].nat : 0); if (minus1_form) GR[r 1 ] = tmp_src - GR[r 3 ] - 1; else GR[r 1 ] = tmp_src - GR[r 3 ]; GR[r 1 ].nat = tmp_nat || GR[r 3 ].nat; 第 3 巻 : 命令リファレンス 3:229
- 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
- Seite 231 und 232: shladd shladd ─ 左シフトお
- Seite 233 und 234: shr shr ─ 右シフト (Shift Rig
- Seite 235 und 236: srlz srlz ─ シリアル化 (Seri
- Seite 237 und 238: st st ─ ストア (Store) 書式
- Seite 239: stf stf ─ 浮動小数点スト
- Seite 243 und 244: sxt sxt ─ 符号拡張 (Sign Exte
- Seite 245 und 246: tak tak ─ トランスレーシ
- Seite 247 und 248: tbit PR[p2 ] = 0; } break; case ‘
- Seite 249 und 250: tnat tnat ─ Test Nat テスト (T
- Seite 251 und 252: tpa tpa ─ 物理アドレスへ
- Seite 253 und 254: unpack unpack ─ アンパック (
- Seite 255 und 256: xchg xchg ─ 交換 (Exchange) 書
- Seite 257 und 258: xma xma ─ 固定小数点積和 (
- Seite 259 und 260: xmpy xmpy ─ 固定小数点乗算
- Seite 261 und 262: zxt zxt ─ ゼロ拡張 (Zero Exte
- Seite 263 und 264: 擬似コード関数 3 この章
- Seite 265 und 266: 表 3-1. 擬似コード関数 (
- Seite 267 und 268: 表 3-1. 擬似コード関数 (
- Seite 269 und 270: 表 3-1. 擬似コード関数 (
- Seite 271 und 272: 表 3-1. 擬似コード関数 (
- Seite 273 und 274: 表 3-1. 擬似コード関数 (
- Seite 275 und 276: 命令形式 4 個々の Itanium ®
- Seite 277 und 278: 使用 さ れていないメ ジ
- Seite 279 und 280: 表 4-4. 命令形式の要約 (
- Seite 281 und 282: 表 4-6. 命令フィールド名 (
- Seite 283 und 284: 4.2 A ユニット命令エンコ
- Seite 285 und 286: 4.2.1.4 Add Immediate 14 A4 4.2.1.5
- Seite 287 und 288: 4.2.2.2 Integer Compare to Zero ─
- Seite 289 und 290: 表 4-13. マルチメディア ALU
sub<br />
sub ─ 減算 (Subtract)<br />
書式 : (qp) subr 1 = r 2 , r 3 register_form A1<br />
(qp) subr 1 = r 2 , r 3 , 1 minus1_form, register_form A1<br />
(qp) subr 1 = imm 8 , r 3 imm8_form A3<br />
説明 : 第 2 ソース・オペランド ( および任意設定の定数1) が第 1 オペラ ン ド か ら 減算 さ れ、 結<br />
果が GR r1 に格納される。 レジスタ形式では、 第 1 オペラン ド は GR r2 であ り 、 即値形<br />
式では、 第 1 オペラ ン ド は符号拡張 さ れた imm8 のエンコ ーデ ィ ング ・ フ ィ ール ド で与<br />
えられる。<br />
minus1_form は、 register_form でのみ使用可能である ( ただし、 即値を調整する と、 即値<br />
形式で も 同じ結果が得 ら れる )。<br />
操作 : if (PR[qp]) {<br />
check_target_register(r 1 );<br />
}<br />
割り込み : 無効操作フ ォ ル ト<br />
tmp_src = (register_form ? GR[r 2 ] : sign_ext(imm 8 , 8));<br />
tmp_nat = (register_form ? GR[r 2 ].nat : 0);<br />
if (minus1_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:229