PEI 命令 (Push Effective Indirect Address)

ダイレクトページ間接アドレスをスタックにプッシュします。

PEIオーバーロード

オペコード構文アドレッシングモードバイト数命令サイクル注
D4PEI (dp)DP Ind.261

注
1: ダイレクトページレジスタの下位バイトが0でない場合、1サイクル追加

フラグ変化

--------

この命令はステータスフラグを変更しない。

解説

PEI命令はオペランドに指定されたダイレクトページ内の間接アドレスをスタックに積みます。プロセッサの動作モードおよびレジスタの状態に関係なく、常に16ビットの値をスタックへ積みます。
通常、PEI命令もPEA命令と同様に、サブルーチン化が困難なコードにおいて、その呼出元のアドレスをスタックへ積むために使用されます。

使用例

ダイレクトページの値を積む

    PEI ($10)       ; $10~$11 の値を積む(間接参照ではない)
    JSR Sub         ; $10~$11 を壊すサブルーチン
    PLA
    STA $10         ; 元の値に戻す(Aは16ビット)

オペランドは括弧付きで書きますが、積まれるのはポインタの先ではなく $10~$11 の値そのものです。Aを経由しないので、Aの値を壊しません。

参照

PEA命令
PER命令
PHA命令
PHB命令
PHD命令
PHK命令
PHP命令
PHX命令
PHY命令
PLA命令
PLB命令
PLD命令
PLP命令
PLX命令
PLY命令