TSC 命令 (Transfer Stack Pointer to Accumulator)
スタックポインタをアキュムレータに転送します。
TSAはTSCのエイリアスです。
TSCオーバーロード
| オペコード | 構文 | アドレッシングモード | バイト数 | 命令サイクル | 注 |
|---|---|---|---|---|---|
| 3B | TSC TSA | Imp. | 1 | 2 |
フラグ変化
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命令