CPU > 命令セット > 一覧 (機能別)

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

目次

ロード/ストア

ニーモニック 内容
LDA アキュームレータに値をロード
LDX Xレジスタに値をロード
LDY Yレジスタに値をロード
STA アキュームレータの内容をメモリにストア
STX Xレジスタの内容をメモリにストア
STY Yレジスタの内容をメモリにストア
STZ ゼロバイトをメモリにストア

レジスタ間移動

ニーモニック 内容
TAX アキュームレータからXレジスタへ転送
TAY アキュームレータからYレジスタへ転送
TYA Yレジスタからアキュームレータへ転送
TXA Xレジスタからアキュームレータへ転送
TSX スタックポインタからXレジスタへ転送
TXS Xレジスタからスタックポインタへ転送
TXY XレジスタからYレジスタへ転送
TYX YレジスタからXレジスタへ転送
TCD アキュームレータからダイレクトページレジスタへ転送
TDC ダイレクトページレジスタからアキュームレータへ転送
TCS アキュームレータからスタックポインタへ転送
TSC スタックポインタからアキュームレータへ転送
XBA アキュームレータのAとBを交換
TAD TCDのエイリアス
TDA TDCのエイリアス
TAS TCSのエイリアス
TSA TSCのエイリアス
SWA XBAのエイリアス

算術演算

ニーモニック 内容
ADC キャリー付き加算
SBC アキュームレータから減算

論理演算

ニーモニック 内容
ORA アキュームレータとメモリの論理和
AND アキュームレータとメモリの論理積
EOR アキュームレータとメモリの排他的論理和

インクリメント/デクリメント

ニーモニック 内容
INC インクリメント
INX Xレジスタインクリメント
INY Yレジスタインクリメント
DEC デクリメント
DEX Xレジスタデクリメント
DEY Yレジスタデクリメント
INA INC A のエイリアス
DEA DEC A のエイリアス

ビットテスト/比較

ニーモニック 内容
BIT メモリビットのテスト
TRB メモリビットのテストとリセット
TSB メモリビットのテストとセット
CMP アキュームレータとメモリ比較
CPX Xレジスタとメモリ比較
CPY Yレジスタとメモリ比較
CPA CMP のエイリアス

シフト/回転シフト

ニーモニック 内容
ASL 算術左シフト
LSR 論理右シフト
ROL 左回転シフト
ROR 右回転シフト

ジャンプ

ニーモニック 内容
JMP ジャンプ
JML JMP long のエイリアス
JSR サブルーチンへジャンプ
JSL サブルーチンへジャンプ(ロング)

リターン

ニーモニック 内容
RTS サブルーチンから戻る
RTL サブルーチンから戻る(ロング)
RTI 割り込みから戻る

条件分岐

ニーモニック 内容
BCC キャリークリア時分岐
BCS キャリーセット時分岐
BEQ 等しい時分岐
BNE 等しくない時分岐
BMI マイナス時分岐
BPL プラス時分岐
BVC オーバーフロークリア時分岐
BVS オーバーフローセット時分岐
BRA 常に分岐
BRL 常に分岐ロング
BLT BCC のエイリアス
BGE BCS のエイリアス

ステータスフラグ操作

ニーモニック 内容
CLC キャリーフラグクリア
CLD デシマルフラグクリア
CLI 割り込みフラグクリア
CLV オーバーフローフラグクリア
SEC キャリーフラグセット
SED デシマルフラグセット
SEI 割り込みフラグセット
REP ステータスビットのリセット
SEP ステータスビットのセット
XCE キャリーフラグとエミュレーションフラグを交換

スタック操作

ニーモニック 内容
PEA 絶対アドレスの内容をプッシュ
PEI 間接アドレスの内容をプッシュ
PER PC相対間接アドレスの内容をプッシュ
PHA アキュームレータの内容をプッシュ
PHP ステータスレジスタの内容をプッシュ
PHX Xレジスタの内容をプッシュ
PHY Yレジスタの内容をプッシュ
PLA アキュームレータへポップ
PLP ステータスレジスタへポップ
PLX Xレジスタへポップ
PLY Yレジスタへポップ
PHB データバンクレジスタの内容をプッシュ
PHD ダイレクトページレジスタの内容をプッシュ
PHK プログラムバンクレジスタの内容をプッシュ
PLB データバンクレジスタへポップ
PLD ダイレクトページレジスタへポップ

ブロック移動

ニーモニック 内容
MVP プラス方向へブロック移動
MVN マイナス方向へブロック移動

その他

ニーモニック 内容
NOP 何も実行しない
STP プロセッサのストップ
BRK ソフトウェアBreak
COP コプロセッサ呼び出し
WAI 割り込みを待つ
WDM 将来のための予約

本文中の記号について

  • addr
    2 バイトのアドレス
  • addr/const
    2 バイトの値 (アドレスまたは定数)
  • const
    1 ~ 2 バイトの定数
  • destbk
    64KB バンク中で、どちらの向きに String が進むか
  • dp
    1 バイトのダイレクトページオフセット (6502 のゼロページ)
  • label
    コードのラベル (同じ 64KB バンク内のもの)
  • long
    3 バイトのアドレス (バンクバイトを含む)
  • nearlabel
    1 バイトの符号付きオフセットで届く範囲のコードラベル
  • sr
    1 バイトのスタック相対オフセット
  • srcebk
    64KB バンク中で、どちらの向きに String が進むか
  • フラグ
    7 6 5 4 3 2 1 0
    n v m x d i z c
    e
N : ネガティブフラグ (1 = Negative)
V : オーバーフローフラグ (1 = Overflow)
M : メモリ/アキュームレータ選択フラグ (1 = 8-bit, 0 = 16 bit)
X : インデックスレジスタ選択フラグ (1 = 8-bit, 0 = 16-bit)
D : 10進モードフラグ (1 = Decimal, 0 = Binary)
I : IRQ 禁止フラグ (1 = Disabled)
Z : ゼロフラグ (1 = Result Zero)
C : キャリーフラグ (1 = Carry)
E : エミュレーションフラグ (0 = Native Mode)