「65c816 資料」の編集履歴(バックアップ)一覧はこちら

65c816 資料 - (2016/02/28 (日) 14:29:47) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

実質自分用メモです。 前々からSNES Wikiを参照させて頂いてましたが、 個別でページが用意されているため所要クロック数確認が面倒だったり、 スパムの被害を受けている(さらに復元しようとしてもエラーが出る)ため記事を作ります。 *所要クロック数まとめ **Indirect系 ||&b(){($**)}|&b(){($**),y}|&b(){($**,x)}|&b(){[$**]}|&b(){[$**],y}|&b(){($**,s),y}| |STA|5|6|6|6|6|7| |Aレジスタ系|5|5|6|6|6|7| **Direct/Absolute/AbsoluteLong系 ||&b(){#$**}|&b(){$** &font(9px){3}}|&b(){$**,xy &font(9px){3}}|&b(){$****}|&b(){$****,xy}|&b(){$******}|&b(){$******,x}|&b(){$**,s}| |&b(){STA &font(9px){1}}|--|3|4|4|5|5|5|4| |&b(){Aレジスタ系 &font(9px){1}}|2|3|4|4|4 &b(){&font(9px){4}}|5|5|4| |&b(){STZ &font(9px){1}}|--|3|4|4|5|--|--|--| |&b(){BIT &font(9px){1}}|2|3|4|4|4|--|--|--| |&b(){LDX/LDY &font(9px){2}}|2|3|4|4|4|--|--|--| |&b(){STX/STY &font(9px){2}}|--|3|4|4|--|--|--|--| |&b(){CPX/CPY &font(9px){2}}|2|3|--|4|--|--|--|--| |&b(){SEP/REP}|3|--|--|--|--|--|--|--| |&b(){TSB/TRB &font(9px){5}}|--|5|--|6|--|--|--|--| |&b(){RW系命令 &font(9px){5}}|--|5|6|6|7|--|--|--| -1 m=0(A/メモリ 16bitモード)時、1クロック追加。 -2 x=0(X/Y 16bitモード)時、1クロック追加。 -3 Dレジスタの下位バイトが0でない時、1クロック追加。 -4 インデックス追加時にページ境界をまたいだ時、1クロック追加。 -5 m=0(A/メモリ 16bitモード)時、2クロック追加。 -Aレジスタ系…&tt(){STA}を除くアキュムレータが関係する命令。&tt(){ORA AND EOR ADC LDA CMP SBC} -RW系命令…1回でメモリ読み込み・書き込みを実行する命令。&tt(){INC DEC ASL LSR ROL ROR} **ジャンプ/コール系 ||&b(){$****}|&b(){$******}|&b(){($****)}|&b(){($****,x)}|&b(){[$****]}| |JMP/JML|3|4|5|6|6| |JSR/JSL|6|8|--|8|--| **その他 -分岐命令は2クロック、分岐時3クロック。 -通常のプッシュ系命令は8bitの場合は3クロック、16bitの場合は4クロック。 -通常のポップ系命令はすべて4クロック。 -Implied系命令は一部を除き2クロック。 |命令|クロック数| |命令|クロック数| |RTS|6||PEA|5| |RTL|8||PEI|6| |RTI|6||PER|6| |XBA|3||MVP|7x| |XCE|2||MVN|7x| |BRK|7||WAI|3| |COP|7||STP|3| |NOP|2||WDM|2|
実質自分用メモです。 前々からSNES Wikiを参照させて頂いてましたが、 個別でページが用意されているため所要クロック数確認が面倒だったり、 スパムの被害を受けている(さらに復元しようとしてもエラーが出る)ため記事を作ります。 *所要クロック数まとめ **Indirect系 ||&b(){($**) &font(9px){3}}|&b(){($**),y &font(9px){3}}|&b(){($**,x) &font(9px){3}}|&b(){[$**] &font(9px){3}}|&b(){[$**],y &font(9px){3}}|&b(){($**,s),y}| |&b(){STA &font(9px){1}}|5|6|6|6|6|7| |&b(){Aレジスタ系 &font(9px){1}}|5|5 &b(){&font(9px){4}}|6|6|6|7| **Direct/Absolute/AbsoluteLong系 ||&b(){#$**}|&b(){$** &font(9px){3}}|&b(){$**,xy &font(9px){3}}|&b(){$****}|&b(){$****,xy}|&b(){$******}|&b(){$******,x}|&b(){$**,s}| |&b(){STA &font(9px){1}}|--|3|4|4|5|5|5|4| |&b(){Aレジスタ系 &font(9px){1}}|2|3|4|4|4 &b(){&font(9px){4}}|5|5|4| |&b(){STZ &font(9px){1}}|--|3|4|4|5|--|--|--| |&b(){BIT &font(9px){1}}|2|3|4|4|4 &b(){&font(9px){4}}|--|--|--| |&b(){LDX/LDY &font(9px){2}}|2|3|4|4|4 &b(){&font(9px){4}}|--|--|--| |&b(){STX/STY &font(9px){2}}|--|3|4|4|--|--|--|--| |&b(){CPX/CPY &font(9px){2}}|2|3|--|4|--|--|--|--| |&b(){TSB/TRB &font(9px){5}}|--|5|--|6|--|--|--|--| |&b(){RW系命令 &font(9px){5}}|--|5|6|6|7|--|--|--| -1 m=0(A/メモリ 16bitモード)時、1クロック追加。 -2 x=0(X/Y 16bitモード)時、1クロック追加。 -3 Dレジスタの下位バイトが0でない時、1クロック追加。 -4 インデックス追加時にページ境界をまたいだ時、1クロック追加。 -5 m=0(A/メモリ 16bitモード)時、2クロック追加。 -Aレジスタ系…&tt(){STA}を除くアキュムレータが関係する命令。&tt(){ORA AND EOR ADC LDA CMP SBC} -RW系命令…1回でメモリ読み込み・書き込みを実行する命令。&tt(){INC DEC ASL LSR ROL ROR} **ジャンプ/コール系 ||&b(){$****}|&b(){$******}|&b(){($****)}|&b(){($****,x)}|&b(){[$****]}| |&b(){JMP/JML}|3|4|5|6|6| |&b(){JSR/JSL}|6|8|--|8|--| **その他 -分岐命令は2クロック、分岐時3クロック。 -通常のプッシュ系命令は8bitの場合は3クロック、16bitの場合は4クロック。 -ポップ系命令はすべて4クロック。 -Implied系命令は一部を除き2クロック。 ***あまり |命令|クロック数| |命令|クロック数| |RTS|6||PEA|5| |RTL|8||PEI|6| |RTI|6||PER|6| |SEP|3||REP|3| |XBA|3||MVP|7x| |XCE|2||MVN|7x| |BRK|7||WAI|3| |COP|7||STP|3| |NOP|2||WDM|2|

表示オプション

横に並べて表示:
変化行の前後のみ表示: