65C816オペコード早見表
OC | オペランド | ニーモニック | 内容 | フラグ変化 | アドレッシングモード | バイト | サイクル |
00 | aa | BRK #$aa | 実行中のプログラムを中断し、割り込みを行う。 | ----di--- | Stack / Interrupt | 2 | 7 |
01 | aa | ORA ($aa,x) | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indexed Indirect, X | 2 | 6 |
02 | aa | COP #$aa | コプロセッサによる割り込みを行う | ----di--- | Stack / Interrupt | 2 | 7 |
03 | aa | ORA $aa,s | Aレジスタとメモリの論理和 | n-----z-- | Stack Relative | 2 | 4 |
04 | aa | TSB $aa | Aレジスタとメモリの論理和をメモリに返す | ------z-- | Direct Page | 2 | 5 |
05 | aa | ORA $aa | Aレジスタとメモリの論理和 | n-----z-- | Direct Page | 2 | 3 |
06 | aa | ASL $aa | メモリを算術左シフト | n-----zc- | Direct Page | 2 | 5 |
07 | aa | ORA [$aa] | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indirect Long | 2 | 6 |
08 | PHP | Pレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
09 | aa aa bb |
ORA #$aa ORA #$bbaa |
Aレジスタとメモリの論理和 | n-----z-- | Immediate | 2 3 |
2 3 |
0A | ASL A | Aレジスタを算術左シフト | n-----zc- | Accumulator | 1 | 2 | |
0B | PHD | Dレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
0C | aa bb | TSB $bbaa | Aレジスタとメモリの論理和をメモリに返す | ------z-- | Absolute | 3 | 6 |
0D | aa bb | ORA $bbaa | Aレジスタとメモリの論理和 | n-----z-- | Absolute | 3 | 4 |
0E | aa bb | ASL $bbaa | メモリを算術左シフト | n-----zc- | Absolute | 3 | 6 |
0F | aa bb cc | ORA $ccbbaa | Aレジスタとメモリの論理和 | n-----z-- | Absolute Long | 4 | 5 |
10 | aa | BPL $aa | ネガティブフラグがクリアされているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
11 | aa | ORA ($aa),y | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indirect Indexed, Y | 2 | 5 |
12 | aa | ORA ($aa) | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indirect | 2 | 5 |
13 | aa | ORA ($aa,s),y | Aレジスタとメモリの論理和 | n-----z-- | Stack Relative Indirect Indexed, Y | 2 | 7 |
14 | aa | TRB $aa | Aレジスタ反転とメモリの論理積をメモリに返す | ------z-- | Direct Page | 2 | 5 |
15 | aa | ORA $aa,x | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indexed, X | 2 | 4 |
16 | aa | ASL $aa,x | メモリを算術左シフト | n-----zc- | Direct Page Indexed, X | 2 | 6 |
17 | aa | ORA [$aa],y | Aレジスタとメモリの論理和 | n-----z-- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
18 | CLC | キャリーフラグをクリア | -------c- | Implied | 1 | 2 | |
19 | aa bb | ORA $bbaa,y | Aレジスタとメモリの論理和 | n-----z-- | Absolute Indexed, Y | 3 | 4 |
1A | INC A | Aレジスタをインクリメント | n-----z-- | Accumulator | 1 | 2 | |
1B | TAS TCS |
Aレジスタをスタックポインタにコピー | n-----z-- | Implied | 1 | 2 | |
1C | aa bb | TRB $bbaa | Aレジスタ反転とメモリの論理積をメモリに返す | ------z-- | Absolute | 3 | 6 |
1D | aa bb | ORA $bbaa,x | Aレジスタとメモリの論理和 | n-----z-- | Absolute Indexed, X | 3 | 4 |
1E | aa bb | ASL $bbaa,x | メモリを算術左シフト | n-----zc- | Absolute Indexed, X | 3 | 7 |
1F | aa bb cc | ORA $ccbbaa,x | Aレジスタとメモリの論理和 | n-----z-- | Absolute Long Indexed, X | 4 | 5 |
20 | aa bb | JSR $bbaa | 関数の呼び出し | --------- | Absolute | 3 | 6 |
21 | aa | AND ($aa,x) | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indexed Indirect, X | 2 | 6 |
22 | aa bb cc | JSL $ccbbaa | 関数の呼び出し | --------- | Absolute Long | 4 | 8 |
23 | aa | AND $aa,s | Aレジスタとメモリの論理積 | n-----z-- | Stack Relative | 2 | 4 |
24 | aa | BIT $aa | Aレジスタとメモリの論理積をZフラグに、上位2bitをN,Vフラグに返す | nv----z-- | Direct Page | 2 | 3 |
25 | aa | AND $aa | Aレジスタとメモリの論理積 | n-----z-- | Direct Page | 2 | 3 |
26 | aa | ROL $aa | メモリを左ローテート | n-----zc- | Direct Page | 2 | 5 |
27 | aa | AND [$aa] | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indirect Long | 2 | 6 |
28 | PLP | Pレジスタへ値をプル | nvmxdizc- | Stack (Pull) | 1 | 4 | |
29 | aa aa bb |
AND #$aa AND #$bbaa |
Aレジスタとメモリの論理積 | n-----z-- | Immediate | 2 3 |
2 3 |
2A | ROL A | Aレジスタを左ローテート | n-----zc- | Accumulator | 1 | 2 | |
2B | PLD | Dレジスタへ値をプル | n-----z-- | Stack (Pull) | 1 | 4 | |
2C | aa bb | BIT $bbaa | Aレジスタとメモリの論理積をZフラグに、上位2bitをN,Vフラグに返す | nv----z-- | Absolute | 3 | 4 |
2D | aa bb | AND $bbaa | Aレジスタとメモリの論理積 | n-----z-- | Absolute | 3 | 4 |
2E | aa bb | ROL $bbaa | メモリを左ローテート | n-----zc- | Absolute | 3 | 6 |
2F | aa bb cc | AND $ccbbaa | Aレジスタとメモリの論理積 | n-----z-- | Absolute Long | 4 | 5 |
30 | aa | BMI $aa | ネガティブフラグが立っているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
31 | aa | AND ($aa),y | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indirect Indexed, Y | 2 | 5 |
32 | aa | AND ($aa) | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indirect | 2 | 5 |
33 | aa | AND ($aa,s),y | Aレジスタとメモリの論理積 | n-----z-- | Stack Relative Indirect Indexed, Y | 2 | 7 |
34 | aa | BIT $aa,x | Aレジスタとメモリの論理積をZフラグに、上位2bitをN,Vフラグに返す | nv----z-- | Direct Page Indexed, X | 2 | 4 |
35 | aa | AND $aa,x | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indexed, X | 2 | 4 |
36 | aa | ROL $aa,x | メモリを左ローテート | n-----zc- | Direct Page Indexed, X | 2 | 6 |
37 | aa | AND [$aa],y | Aレジスタとメモリの論理積 | n-----z-- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
38 | SEC | キャリーフラグをセット | -------c- | Implied | 1 | 2 | |
39 | aa bb | AND $bbaa,y | Aレジスタとメモリの論理積 | n-----z-- | Absolute Indexed, Y | 3 | 4 |
3A | DEC A | Aレジスタをデクリメント | n-----z-- | Accumulator | 1 | 2 | |
3B | TSA TSC |
スタックポインタをAレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
3C | aa bb | BIT $bbaa,x | Aレジスタとメモリの論理積をZフラグに、上位2bitをN,Vフラグに返す | nv----z-- | Absolute Indexed, X | 3 | 4 |
3D | aa bb | AND $bbaa,x | Aレジスタとメモリの論理積 | n-----z-- | Absolute Indexed, X | 3 | 4 |
3E | aa bb | ROL $bbaa,x | メモリを左ローテート | n-----zc- | Absolute Indexed, X | 3 | 7 |
3F | aa bb cc | AND $ccbbaa,x | Aレジスタとメモリの論理積 | n-----z-- | Absolute Long Indexed, X | 4 | 5 |
40 | RTI | 割り込み処理からの復帰 | nvmxdizc- | Stack | 1 | 6 | |
41 | aa | EOR ($aa,x) | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indexed Indirect, X | 2 | 6 |
42 | WDM | (予約) | n/a | n/a | n/a | n/a | |
43 | aa | EOR $aa,s | Aレジスタとメモリの排他的論理和 | n-----z-- | Stack Relative | 2 | 4 |
44 | aa bb | MVP $bb,$aa | データ転送 A:転送サイズ、X:転送先アドレス、Y:転送元アドレス aa:転送元バンク、bb:転送先バンク |
--------- | Block Move | 3 | 7/byte |
45 | aa | EOR $aa | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page | 2 | 3 |
46 | aa | LSR $aa | メモリを論理右シフト | n-----zc- | Direct Page | 2 | 5 |
47 | aa | EOR [$aa] | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indirect Long | 2 | 6 |
48 | PHA | Aレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
49 | aa aa bb |
EOR #$aa EOR #$bbaa |
Aレジスタとメモリの排他的論理和 | n-----z-- | Immediate | 2 3 |
2 3 |
4A | LSR A | Aレジスタを論理右シフト | n-----zc- | Accumulator | 1 | 2 | |
4B | PHK | PBレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
4C | aa bb | JMP $bbaa | アドレスジャンプ | --------- | Absolute | 3 | 3 |
4D | aa bb | EOR $bbaa | Aレジスタとメモリの排他的論理和 | n-----z-- | Absolute | 3 | 4 |
4E | aa bb | LSR $bbaa | メモリを論理右シフト | n-----zc- | Absolute | 3 | 6 |
4F | aa bb cc | EOR $ccbbaa | Aレジスタとメモリの排他的論理和 | n-----z-- | Absolute Long | 4 | 5 |
50 | aa | BVC $aa | オーバーフローフラグがクリアされているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
51 | aa | EOR ($aa),y | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indirect Indexed, Y | 2 | 5 |
52 | aa | EOR ($aa) | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indirect | 2 | 5 |
53 | aa | EOR ($aa,s),y | Aレジスタとメモリの排他的論理和 | n-----z-- | Stack Relative Indirect Indexed, Y | 2 | 7 |
54 | aa bb | MVN $bb,$aa | データ転送 A:転送サイズ、X:転送先アドレス、Y:転送元アドレス aa:転送元バンク、bb:転送先バンク |
--------- | Block Move | 3 | 7/byte |
55 | aa | EOR $aa,x | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indexed, X | 2 | 4 |
56 | aa | LSR $aa,x | メモリを論理右シフト | n-----zc- | Direct Page Indexed, X | 2 | 6 |
57 | aa | EOR [$aa],y | Aレジスタとメモリの排他的論理和 | n-----z-- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
58 | CLI | インタラプトフラグをクリア | -----i--- | Implied | 1 | 2 | |
59 | aa bb | EOR $bbaa,y | Aレジスタとメモリの排他的論理和 | n-----z-- | Absolute Indexed, Y | 3 | 4 |
5A | PHY | Yレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
5B | TAD TCD |
AレジスタをDレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
5C | aa bb cc | JML $ccbbaa | アドレスジャンプ | --------- | Absolute Long | 4 | 4 |
5D | aa bb | EOR $bbaa,x | Aレジスタとメモリの排他的論理和 | n-----z-- | Absolute Indexed, X | 3 | 4 |
5E | aa bb | LSR $bbaa,x | メモリを論理右シフト | n-----zc- | Absolute Indexed, X | ||
5F | aa bb cc | EOR $ccbbaa,x | Aレジスタとメモリの排他的論理和 | n-----z-- | Absolute Long Indexed, X | 4 | 5 |
60 | RTS | サブルーチンからの復帰 | --------- | Stack | 1 | 6 | |
61 | aa | ADC ($aa,x) | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indexed Indirect, X | 2 | 6 |
62 | aa bb | PER $bbaa | メモリをスタックへプッシュ | --------- | PC Relative Long | 3 | |
63 | aa | ADC $aa,s | Aレジスタにメモリを加算 | nv----zc- | Stack Relative | 2 | 4 |
64 | aa | STZ $aa | ゼロをメモリに書き込み | --------- | Direct Page | 2 | 3 |
65 | aa | ADC $aa | Aレジスタにメモリを加算 | nv----zc- | Direct Page | 2 | 3 |
66 | aa | ROR $aa | メモリを右ローテート | n-----zc- | Direct Page | 2 | 5 |
67 | aa | ADC [$aa] | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indirect Long | 2 | 6 |
68 | PLA | Aレジスタへ値をプル | n-----z-- | Stack (Pull) | 1 | 4 | |
69 | aa aa bb |
ADC #$aa ADC #$bbaa |
Aレジスタに即値を加算 | nv----zc- | Immediate | 2 3 |
2 3 |
6A | ROR A | Aレジスタを右ローテート | n-----zc- | Accumulator | 1 | 2 | |
6B | RTL | サブルーチンからの復帰 | --------- | Stack | 1 | 6 | |
6C | aa bb | JMP ($bbaa) | アドレスジャンプ | --------- | Absolute Indirect | 3 | 5 |
6D | aa bb | ADC $bbaa | Aレジスタにメモリを加算 | nv----zc- | Absolute | 3 | 4 |
6E | aa bb | ROR $bbaa | メモリを右ローテート | n-----zc- | Absolute | 3 | 6 |
6F | aa bb cc | ADC $ccbbaa | Aレジスタにメモリを加算 | nv----zc- | Absolute Long | 4 | 5 |
70 | aa | BVS $aa | オーバーフローフラグが立っているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
71 | aa | ADC ($aa),y | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indirect Indexed, Y | 2 | 5 |
72 | aa | ADC ($aa) | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indirect | 2 | 5 |
73 | aa | ADC ($aa,s),y | Aレジスタにメモリを加算 | nv----zc- | Stack Relative Indirect Indexed, Y | 2 | 7 |
74 | aa | STZ $aa,x | ゼロをメモリに書き込み | --------- | Direct Page Indexed, X | 2 | 4 |
75 | aa | ADC $aa,x | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indexed, X | 2 | 4 |
76 | aa | ROR $aa,x | メモリを右ローテート | n-----zc- | Direct Page Indexed, X | 2 | 6 |
77 | aa | ADC [$aa],y | Aレジスタにメモリを加算 | nv----zc- | Direct Page Indirect Ling Indexed, Y | 2 | 6 |
78 | SEI | インタラプトフラグをセット | -----i--- | Implied | 1 | 2 | |
79 | aa bb | ADC $bbaa,y | Aレジスタにメモリを加算 | nv----zc- | Absolute Indexed, Y | 3 | 4 |
7A | PLY | Yレジスタへ値をプル | n-----z-- | Stack (Pull) | 1 | 4 | |
7B | TDA TDC |
DレジスタをAレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
7C | aa bb | JMP ($bbaa,x) | アドレスジャンプ | --------- | Absolute Indexed Indirect, X | 3 | 6 |
7D | aa bb | ADC $bbaa,x | Aレジスタにメモリを加算 | nv----zc- | Absolute Indexed, X | 3 | 4 |
7E | aa bb | ROR $bbaa,x | メモリを右ローテート | n-----zc- | Absolute Indexed, X | 3 | 7 |
7F | aa bb cc | ADC $ccbbaa,x | Aレジスタにメモリを加算 | nv----zc- | Absolute Long Indexed, X | 4 | 5 |
80 | aa | BRA $aa | 常に分岐 | --------- | Program Counter Relative | 2 | 3 |
81 | aa | STA ($aa,x) | Aレジスタをメモリに書き込み | --------- | Direct Page Indexed Indirect, X | 2 | 6 |
82 | aa bb | BRL $bbaa | 常に分岐 | --------- | Program Counter Relative Long | 3 | 4 |
83 | aa | STA $aa,s | Aレジスタをメモリに書き込み | --------- | Stack Relative | 2 | 4 |
84 | aa | STY $aa | Yレジスタをメモリに書き込み | --------- | Direct Page | 2 | 3 |
85 | aa | STA $aa | Aレジスタをメモリに書き込み | --------- | Direct Page | 2 | 3 |
86 | aa | STX $aa | Xレジスタをメモリに書き込み | --------- | Direct Page | 2 | 3 |
87 | aa | STA [$aa] | Aレジスタをメモリに書き込み | --------- | Direct Page Indirect Long | 2 | 6 |
88 | DEY | Yレジスタをデクリメント | n-----z-- | Implied | 1 | 2 | |
89 | aa aa bb |
BIT #$aa BIT #$bbaa |
Aレジスタとメモリの論理積をZフラグに返す | ------z-- | Immediate | 2 3 |
2 3 |
8A | TXA | XレジスタをAレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
8B | PHB | DBレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
8C | aa bb | STY $bbaa | Yレジスタをメモリに書き込み | --------- | Absolute | 3 | 4 |
8D | aa bb | STA $bbaa | Aレジスタをメモリに書き込み | --------- | Absolute | 3 | 4 |
8E | aa bb | STX $bbaa | Xレジスタをメモリに書き込み | --------- | Absolute | 3 | 4 |
8F | aa bb cc | STA $ccbbaa | Aレジスタをメモリに書き込み | --------- | Absolute Long | 4 | 5 |
90 | aa | BCC $aa BLT $aa |
キャリーフラグが立っているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
91 | aa | STA ($aa),y | Aレジスタをメモリに書き込み | --------- | Direct Page Indirect Indexed, Y | 2 | 5 |
92 | aa | STA ($aa) | Aレジスタをメモリに書き込み | --------- | Direct Indirect | 2 | 5 |
93 | aa | STA ($aa,s),y | Aレジスタをメモリに書き込み | --------- | Stack Relative Indirect Indexed, Y | 2 | 7 |
94 | aa | STY $aa,x | Yレジスタをメモリに書き込み | --------- | Direct Page Indexed, X | 2 | 4 |
95 | aa | STA $aa,x | Aレジスタをメモリに書き込み | --------- | Direct Page Indexed, X | 2 | 4 |
96 | aa | STX $aa,y | Xレジスタをメモリに書き込み | --------- | Direct Page Indexed, Y | 2 | 4 |
97 | aa | STA [$aa],y | Aレジスタをメモリに書き込み | --------- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
98 | TYA | YレジスタをAレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
99 | aa bb | STA $bbaa,y | Aレジスタをメモリに書き込み | --------- | Absolute Indexed, Y | 3 | 5 |
9A | TXS | Xレジスタをスタックポインタにコピー | n-----z-- | Implied | 1 | 2 | |
9B | TXY | XレジスタをYレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
9C | aa bb | STZ $bbaa | ゼロをメモリに書き込み | --------- | Absolute | 3 | 4 |
9D | aa bb | STA $bbaa,x | Aレジスタをメモリに書き込み | --------- | Absolute Indexed, X | 3 | 5 |
9E | aa bb | STZ $bbaa,x | ゼロをメモリに書き込み | --------- | Absolute Indexed, X | 3 | 5 |
9F | aa bb cc | STA $ccbbaa,x | Aレジスタをメモリに書き込み | --------- | Absolute Long Indexed, X | 4 | 5 |
A0 | aa aa bb |
LDY #$aa LDY #$bbaa |
Yレジスタに値を読み込み | n-----z-- | Immediate | 2 3 |
2 3 |
A1 | aa | LDA ($aa,x) | Aレジスタに値を読み込み | n-----z-- | Direct Page Indexed Indirect, X | 2 | 6 |
A2 | aa aa bb |
LDX #$aa LDX #$bbaa |
Xレジスタに値を読み込み | n-----z-- | Immediate | 2 3 |
2 3 |
A3 | aa | LDA $aa,s | Aレジスタに値を読み込み | n-----z-- | Stack Relative | 2 | 4 |
A4 | aa | LDY $aa | Yレジスタに値を読み込み | n-----z-- | Direct Page | 2 | 3 |
A5 | aa | LDA $aa | Aレジスタに値を読み込み | n-----z-- | Direct Page | 2 | 3 |
A6 | aa | LDX $aa | Xレジスタに値を読み込み | n-----z-- | Direct Page | 2 | 3 |
A7 | aa | LDA [$aa] | Aレジスタに値を読み込み | n-----z-- | Direct Page Indirect Long | 2 | 6 |
A8 | TAY | AレジスタをYレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
A9 | aa aa bb |
LDA #$aa LDA #$bbaa |
Aレジスタに値を読み込み | n-----z-- | Immediate | 2 3 |
2 3 |
AA | TAX | AレジスタをXレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
AB | PLB | DBレジスタへ値をプル | n-----z-- | Stack (Pull) | 1 | 4 | |
AC | aa bb | LDY $bbaa | Yレジスタに値を読み込み | n-----z-- | Absolute | 3 | 4 |
AD | aa bb | LDA $bbaa | Aレジスタに値を読み込み | n-----z-- | Absolute | 3 | 4 |
AE | aa bb | LDX $bbaa | Xレジスタに値を読み込み | n-----z-- | Absolute | 3 | 4 |
AF | aa bb cc | LDA $ccbbaa | Aレジスタに値を読み込み | n-----z-- | Absolute Long | 4 | 5 |
B0 | aa | BCS $aa BGE $aa |
キャリーフラグがクリアされているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
B1 | aa | LDA ($aa),y | Aレジスタに値を読み込み | n-----z-- | Direct Page Indirect Indexed, Y | 2 | 5 |
B2 | aa | LDA ($aa) | Aレジスタに値を読み込み | n-----z-- | Direct Page Indirect | 2 | 5 |
B3 | aa | LDA ($aa,s),y | Aレジスタに値を読み込み | n-----z-- | Stack Relative Indirect Indexed, Y | 2 | 7 |
B4 | aa | LDY $aa,x | Yレジスタに値を読み込み | n-----z-- | Direct Page Indexed, X | 2 | 4 |
B5 | aa | LDA $aa,x | Aレジスタに値を読み込み | n-----z-- | Direct Page Indexed, X | 2 | 4 |
B6 | aa | LDX $aa,y | Xレジスタに値を読み込み | n-----z-- | Direct Page Indexed, Y | 2 | 4 |
B7 | aa | LDA [$aa],y | Aレジスタに値を読み込み | n-----z-- | Direct Page Long Indirect Indexed, Y | 2 | 6 |
B8 | CLV | オーバーフローフラグをクリア | -v------- | Implied | 1 | 2 | |
B9 | aa bb | LDA $bbaa,y | Aレジスタに値を読み込み | n-----z-- | Absolute Indexed, Y | 3 | 4 |
BA | TSX | スタックポインタをXレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
BB | TYX | YレジスタをXレジスタにコピー | n-----z-- | Implied | 1 | 2 | |
BC | aa bb | LDY $bbaa,x | Yレジスタに値を読み込み | n-----z-- | Absolute Indexed, X | 3 | 4 |
BD | aa bb | LDA $bbaa,x | Aレジスタに値を読み込み | n-----z-- | Absolute Indexed, X | 3 | 4 |
BE | aa bb | LDX $bbaa,y | Xレジスタに値を読み込み | n-----z-- | Absolute Indexed, Y | 3 | 4 |
BF | aa bb cc | LDA $ccbbaa,x | Aレジスタに値を読み込み | n-----z-- | Absolute Long Indexed, X | 4 | 5 |
C0 | aa aa bb |
CPY #$aa CPY #$bbaa |
Yレジスタと即値を比較 | n-----zc- | Immediate | 2 3 |
2 3 |
C1 | aa | CMP ($aa,x) | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indexed Indirect, X | 2 | 6 |
C2 | aa | REP #$aa | Pレジスタの指定ビットをクリア | nvmxdizc- | Immediate | 2 | 3 |
C3 | aa | CMP $aa,s | Aレジスタとメモリを比較 | n-----zc- | Stack Relative | 2 | 4 |
C4 | aa bb | CPY $aa | Yレジスタとメモリを比較 | n-----zc- | Direct Page | 2 | 3 |
C5 | aa | CMP $aa | Aレジスタとメモリを比較 | n-----zc- | Direct Page | 2 | 3 |
C6 | aa | DEC $aa | メモリをデクリメント | n-----z-- | Direct Page | 2 | 5 |
C7 | aa | CMP [$aa] | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indirect Long | 2 | 6 |
C8 | INY | Yレジスタをインクリメント | n-----z-- | Implied | 1 | 2 | |
C9 | aa aa bb |
CMP #$aa CMP #$bbaa |
Aレジスタと即値を比較 | n-----zc- | Immediate | 2 3 |
2 3 |
CA | DEX | Xレジスタをデクリメント | n-----z-- | Implied | 1 | 2 | |
CB | WAI | 割り込み処理があるまで待機 | --------- | Implied | 1 | 3 | |
CC | aa bb | CPY $bbaa | Yレジスタとメモリを比較 | n-----zc- | Absolute | 3 | 4 |
CD | aa bb | CMP $bbaa | Aレジスタとメモリを比較 | n-----zc- | Absolute | 3 | 4 |
CE | aa bb | DEC $bbaa | メモリをデクリメント | n-----z-- | Absolute | 3 | 6 |
CF | aa bb cc | CMP $ccbbaa | Aレジスタとメモリを比較 | n-----zc- | Absolute Long | 4 | 5 |
D0 | aa | BNE $aa | ゼロフラグがクリアされているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
D1 | aa | CMP ($aa),y | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indirect Indexed, Y | 2 | 5 |
D2 | aa | CMP ($aa) | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indirect | 2 | 5 |
D3 | aa | CMP ($aa,s),y | Aレジスタとメモリを比較 | n-----zc- | Stack Relative Indirect Indexed, Y | 2 | 7 |
D4 | aa | PEI ($aa) | メモリをスタックにプッシュ | --------- | Direct Page Indirect | 2 | 6 |
D5 | aa | CMP $aa,x | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indexed, X | 2 | 4 |
D6 | aa | DEC $aa,x | メモリをデクリメント | n-----z-- | Direct Page Indexed, X | 2 | 6 |
D7 | aa | CMP [$aa],y | Aレジスタとメモリを比較 | n-----zc- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
D8 | CLD | デシマルフラグをクリア | ----d---- | Implied | 1 | 2 | |
D9 | aa bb | CMP $bbaa,y | Aレジスタとメモリを比較 | n-----zc- | Absolute Indexed, Y | 3 | 4 |
DA | PHX | Xレジスタをスタックへプッシュ | --------- | Stack (Push) | 1 | 3 | |
DB | STP | CPUを止める | --------- | Implied | 1 | 3 | |
DC | aa bb | JML [$bbaa] | アドレスジャンプ | --------- | Absolute Indirect Long | 3 | 6 |
DD | aa bb | CMP $bbaa,x | Aレジスタとメモリを比較 | n-----zc- | Absolute Indexed, X | 3 | 4 |
DE | aa bb | DEC $bbaa,x | メモリをデクリメント | n-----z-- | Absolute Indexed, X | 3 | 7 |
DF | aa bb cc | CMP $ccbbaa | Aレジスタとメモリを比較 | n-----zc- | Absolute Long Indexed, X | 4 | 7 |
E0 | aa aa bb |
CPX #$aa CPX #$bbaa |
Xレジスタと即値を比較 | n-----zc- | Immediate | 2 3 |
2 3 |
E1 | aa | SBC ($aa,x) | Aレジスタからメモリを減算 | nv----zc- | Direct Page Indexed Indirect, X | 2 | 6 |
E2 | aa | SEP #$aa | Pレジスタの指定ビットをセット | nvmxdizc- | Immediate | 2 | 3 |
E3 | aa | SBC ($aa,s) | Aレジスタからメモリを減算 | nv----zc- | Stack Ralative | 2 | 4 |
E4 | aa bb | CPX $aa | Xレジスタとメモリを比較 | n-----zc- | Direct Page | 2 | 3 |
E5 | aa | SBC $aa | Aレジスタからメモリを減算 | nv----zc- | Direct Page | 2 | 3 |
E6 | aa | INC $aa | メモリをインクリメント | n-----z-- | Direct Page | 2 | 5 |
E7 | aa | SBC [$aa] | Aレジスタからメモリを減算 | nv----zc- | Direct Page Indirect Long | 2 | 6 |
E8 | INX | Xレジスタをインクリメント | n-----z-- | Implied | 1 | 2 | |
E9 | aa aa bb |
SBC #$aa SBC #$bbaa |
Aレジスタから即値を減算 | nv----zc- | Immediate | 2 3 |
2 3 |
EA | NOP | 何もしない | --------- | Implied | 1 | 2 | |
EB | XBA SWA |
Aレジスタの上位バイトと下位バイトを交換 | n-----z-- | Implied | 1 | 3 | |
EC | aa bb | CPX $bbaa | Xレジスタとメモリを比較 | n-----zc- | Absolute | 3 | 4 |
ED | aa bb | SBC $bbaa | Aレジスタからメモリを減算 | nv----zc- | Absolute | 3 | 4 |
EE | aa bb | INC $bbaa | メモリをインクリメント | n-----z-- | Absolute | 3 | 6 |
EF | aa bb cc | SBC $ccbbaa | Aレジスタからメモリを減算 | nv----zc- | Absolute Long | 4 | 5 |
F0 | aa | BEQ $aa | ゼロフラグが立っているとき分岐 | --------- | Program Counter Relative | 2 | 2 |
F1 | aa | SBC ($aa),y | Aレジスタからメモリを減算 | nv----zc- | Direct Page Inirect Indexed, Y | 2 | 5 |
F2 | aa | SBC ($aa) | Aレジスタからメモリを減算 | nv----zc- | Direct Page Indirect | 2 | 5 |
F3 | aa | SBC ($aa,s),y | Aレジスタからメモリを減算 | nv----zc- | Stack Relative Indirect Indexed, Y | 2 | 7 |
F4 | aa bb | PEA $bbaa PEA #$bbaa |
即値をスタックにプッシュ。実際には上の書き方が主流。(実効アドレスの指定ではないことに注意) | --------- | Absolute Immediate |
3 | 5 |
F5 | aa | SBC $aa,x | Aレジスタからメモリを減算 | nv----zc- | Direct Page Indexed, X | 2 | 4 |
F6 | aa | INC $aa,x | メモリをインクリメント | n-----z-- | Direct Page Indexed, X | 2 | 6 |
F7 | aa | SBC [$aa],y | Aレジスタからメモリを減算 | nv----zc- | Direct Page Indirect Long Indexed, Y | 2 | 6 |
F8 | SED | デシマルフラグをセット | ----d---- | Implied | 1 | 2 | |
F9 | aa bb | SBC $bbaa,y | Aレジスタからメモリを減算 | nv----zc- | Absolute Indexed, Y | 3 | 4 |
FA | PLX | Xレジスタへ値をプル | n-----z-- | Stack (Pull) | 1 | 4 | |
FB | XCE | キャリーフラグとエミュレーションフラグを交換 | -------ce | Implied | 1 | 2 | |
FC | aa bb | JSR ($bbaa,x) | 関数の呼び出し | --------- | Absolute Indexed Indirect, X | 3 | 8 |
FD | aa bb | SBC $bbaa,x | Aレジスタからメモリを減算 | nv----zc- | Absolute Indexed, X | 3 | 4 |
FE | aa bb | INC $bbaa,x | メモリをインクリメント | n-----z-- | Absolute Indexed, X | 3 | 6 |
FF | aa bb cc | SBC $ccbbaa,x | Aレジスタからメモリを減算 | nv----zc- | Absolute Long Indexed, X | 4 | 5 |