以下の命令で変更されうるフラグ:無し
PHA (Push Accumulator)
アキュムレータの値をPUSHします。
PHX (Push X Register)
Xレジスタの値をPUSHします。
PHY (Push Y Register)
Yレジスタの値をPUSHします。
PHP (Push Processor Status Register)
Pレジスタの値をPUSHします。
PHB (Push Data Bank Register)
DBレジスタの値をPUSHします。
PHD (Push Direct Page Register)
Dレジスタの値をPUSHします。
PHK (Push Program Bank Register)
PBレジスタの値をPUSHします。
PEA $???? (Push Effective Address)
絶対アドレスモードで指定されたアドレス(16bit)そのものがPUSHされます。
例えば、PEA $1234とした場合、アドレス$7E1234の値ではなく、
#$1234という2バイトの値そのものがPUSHされることに気をつけてください。
2バイト分という大きさにも注意です。
8bitモードで2度PLAなどするか、16bitモードでPLAしないとスタックの中身は元に戻りません。
PEI ($??) (Push Effective Indirect Address)
ダイレクトインダイレクトモードで指定されたアドレスに格納されてる値(16bit)がPUSHされます。
PEAはアドレスそのものをPUSHしましたが、こちらはアドレスの値を格納します。
TRASMではこの命令が翻訳されない気がする。
PER (Push Program Counter Relative)
相対アドレスで指定後のプログラムカウンタの値をPushします。
org $009820
PER Label002
LDA #$02
Label002: STA $80
STA $82
の例においては、$9825の値をPushします。
ご指摘有り難う御座います。