CPU > 命令セット > COP

「CPU/命令セット/COP」の編集履歴(バックアップ)一覧に戻る

CPU/命令セット/COP - (2017/02/20 (月) 17:50:54) のソース

***COP (Coprocessor Empowerment) [#l0ae6776]
[コプロセッサ呼び出し]

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

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

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

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

''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|Stack/Interrupt|COP const|02|2*|7 | 1|

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