COP (Coprocessor Empowerment)

[コプロセッサ呼び出し]

COP 命令は、ソフトウェア割り込みを発行する。 COP ハードウェアベクタによって分岐する。 割り込みベクタは、$FFF4-$FFF5 に配置されている。

6502 エミュレーションモードの時 :

  • プログラムカウンタ (PC) が 2 インクリメントされ、スタックにプッシュされる
  • ステータスレジスタがスタックにプッシュされる
  • 割り込み禁止フラグがセットされる
  • プログラムカウンタ (PC) がハードウェアベクタからロードされる
  • デシマルフラグがクリアされる

ネイティブモードの時 :

  • プログラムバンクレジスタ (PBR) がスタックにプッシュされる
  • プログラムカウンタ (PC) が 2 インクリメントされ、スタックにプッシュされる
  • ステータスレジスタがスタックにプッシュされる
  • 割り込み禁止フラグがセットされる
  • プログラムバンクレジスタ (PBR) が 0 にクリアされる
  • プログラムカウンタ (PC) がハードウェアベクタからロードされる
  • COP 実行後に、デシマルフラグがクリアされる

フラグ変化

----di--

d : デシマルモードフラグは 0 にリセットされる
i : 割り込み禁止フラグはセットされる

コード一覧

アドレッシングモード文法オペコードバイト数命令サイクル
Stack/InterruptCOP const022*71

* : COP は 1 バイトの命令だが、スタックに詰まれる   プログラムカウンタの値は 2 インクリメントされるので、   オプションでシグネチャバイトを入れることができる。 1 : 65816/65802 ネイティブモード (e=0) の時、1 サイクル追加


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 15:52:56 (2754d)