TSC 命令 (Transfer Stack Pointer to Accumulator)

スタックポインタをアキュムレータに転送します。
TSAはTSCのエイリアスです。

TSCオーバーロード

オペコード構文アドレッシングモードバイト数命令サイクル注
3BTSC
TSA
Imp.12

フラグ変化

n-----z-

n: 転送した値のMSBが格納される。
z: 転送した値が0の場合にセットされ、それ以外の場合はクリアされる。

解説

TSC命令はスタックポインタをアキュムレータに転送します。
ステータスフラグの状態にかかわらず、この命令では常に16ビットのデータを転送します。エミュレーションモード時も16ビット全体が転送されますが、このときスタックポインタの上位バイトは常に $01 です。これは、6502のスタック領域が常に1ページに存在するためです。

使用例

スタックをダイレクトページとして使う

    TSC
    TCD             ; ダイレクトページ = スタックポインタ
    LDA $03         ; スタック上の値(3,S と同じ場所)をダイレクトページの命令で読む

スタックに積んだ値をダイレクトページの豊富なアドレッシングモードで扱えます。

参照

TAX命令
TXA命令
TAY命令
TYA命令
TSX命令
TXS命令
TXY命令
TYX命令
TCD命令
TDC命令
TCS命令
XBA命令