| ACS MMU関連命令 <<L1R>>,<<L1>>,<<L2>> |
【ニモニックとオペランド】
ACS chkadr
【機能】
Check access rights
【オプション】
なし
【命令フォーマットと表記法】
【解説】
この命令はchkadrで指定したアドレスを含むページの前リング番号(PRNG)に関するアクセス権をチェックします。PRNGのレベルを対応するセクションテーブルエントリ(STE)とページテーブルエントリ(PTE)に格納されたアクセス情報と比較します。
チェックした結果に応じて、以下のようにフラグがセットされます。
- 読み出し可能 : M_flagをセット
書き込み可能 : Z_flagをセット
実行可能 :L_flagをセットPRNGについては常にアクセス権がチェックされますが、chkadrで指定したアドレスがスタックポインタを参照するアドレッシングモードのときには現リング番号(RNG)のスタックポインタを使用してアドレス計算します。
PRNG < RNGの場合には、アクセスが無条件で禁止され、M_flag,Z_flag,L_flagがすべて0にクリアされます。
アドレス変換中にアドレス変換例外が検出された場合には、上記のフラグがクリアされて、アクセス不能を示し、命令は正常終了します。しかし、セクションテーブル、ページテーブルがページ不在の場合には、EIT処理が開始されます。
ACS命令はTLB(トランスレーションルックアサイドバッファ)を参照します。
PSWのATフィールドが00(アドレス変換なし)の場合には、アドレス変換は行われず、上記の3つのフラグすべてがセットされて、読み出し、書き込み、実行が可能なことを示します。
【フラグ変化】
【発生EIT】
RIE chkadr [Gen/a]のアドレッシングモード違反
【使用例】
汎用レジスタR10の内容が示すアドレスを含むページのSTEとPTEに基づいて、そのアドレスがPSWのPRNGでアクセス可能かチェックし、結果をフラグに反映します。