***目次 [#g3ce6a93]
-[[レジスタ>CPU/レジスタ]]
-[[アドレッシングモード>CPU/アドレッシングモード]]
-[[命令セット一覧 (アルファベット順)>CPU/命令セット]]
-[[命令セット一覧 (機能別)>CPU/命令セット/一覧 (機能別)]]
-[[命令セット一覧 (オペコード順)>CPU/命令セット/一覧 (オペコード順)]]

***概要 [#tfef66c4]
SNES の CPU には、NES の CPU の 6502 をエミュレーションするモードがあり、
ステータスフラグにエミュレーションフラグを立てることで
切り替えができるようになっている。

これは、 NES のプログラマが SNES にスムーズに移行しやすくするためであると共に、
NES のゲームを SNES で動かせるようにするための措置だと思われるが、
実際には、NES のゲームを SNES で動かせるようにするようなアダプタは、
オフィシャルには発売されていない。

SNES の CPU は、ほとんどの動作が NES の CPU である 6502 と互換性があるが、
16 ビット単位のデータが扱えるようになっており、
それに関連してレジスタの本数と、命令が若干増えている。
24 ビットのアドレスバスも扱えるようになっており、
それに伴って増えたアドレス指定用レジスタの影響で、
それに伴って増えた、アドレス指定用レジスタの影響で、
アドレッシングモードが複雑になっている。

通常、アドレスは 16 ビット単位で指定するが、
24 ビット分をフルに指定する時、上位 8 ビットを "バンク" として扱う。
バンクは、CPU 内のバンクレジスタの操作により切り替えることができる。

CPU 内で乗算と除算を直接行うことができないので、
これらの演算が必要な場合は、I/O ポートから乗算・除算用コプロセッサに
データを渡して、しばらくウエイトを入れた後、
別の結果取得用ポートから計算結果を取得する。

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS