2-2.命令表




A, X, Y, S、Pはレジスタ、
Cはキャリーフラグ、Zはゼロフラグ、Vはオーバーフローフラグ、
Iはインタラプトフラグ、Dはデシマルモードフラグ、
Memはオペランドで指定したアドレスのメモリを表します


○ロード/ストア/レジスタコピー
LDAMem → A
LDXMem → X
LDYMem → Y
STAA → Mem
STXX → Mem
STYY → Mem
TXAX → A
TYAY → A
TAXA → X
TAYA → Y
TXSX → S
TSXS → X
○スタック命令
PHAAをスタックへプッシュ
PHPPをスタックへプッシュ
PLAAをスタックからプル
PLPPをスタックからプル
○演算命令
ADCA + Mem + C → A
SBCA - Mem - ~C → A
ANDA AND Mem → A
ORAA OR Mem → A
EORA XOR Mem → A
INCA + 1 → A
INXX + 1 → X
INYY + 1 → Y
DECA - 1 → A
DEXX - 1 → X
DEYY - 1 → Y
○比較命令
演算結果によるフラグをセットするだけで、結果は保存しない。
CMPA - Mem
CPXX - Mem
CPYY - Mem
BITA AND Mem
○シフト/ローテート
ASL左シフト。Bit0 = 0、C = Bit7、Bit[n] = Bit[n-1]
LSR論理右シフト。Bit7 = 0、C = Bit0、Bit[n] = Bit[n+1]
ROL左ローテート。Bit0 = C、C = Bit7、Bit[n] = Bit[n-1]
ROR右ローテート。Bit7 = C、C = Bit0、Bit[n] = Bit[n+1]
○ステータスビットセット/クリア
CLC0 → C
CLD0 → D
CLI0 → I
CLV0 → V
SEC1 → C
SED1 → D
SEI1 → I
○ジャンプ/条件分岐/サブルーチンコール/復帰
JMP指定アドレスへジャンプ
BCCC = 0のとき指定アドレスへジャンプ
BCSC = 1のとき指定アドレスへジャンプ
BEQZ = 1のとき指定アドレスへジャンプ
BNEZ = 0のとき指定アドレスへジャンプ
BMIN = 1のとき指定アドレスへジャンプ
BPLB = 0のとき指定アドレスへジャンプ
BVSV = 1のとき指定アドレスへジャンプ
BVCV = 0のとき指定アドレスへジャンプ
JSR指定アドレスのサブルーチンへ
RTSサブルーチンから復帰
RTI割り込み処理から復帰
○その他
BRKソフトウェア割り込み
NOP何もしない