レジスタ
A:計算結果などの値を格納するレジスタ。最もよく使う。
X:差分でアドレスを指定するときによく使う。
 X=2の時、$1234,xは$1236を指す。
Y:Xと同じ。

アドレッシングモード
#$20    16進数での実数0x20(10進数では32)を表す。
#20     10進数での実数20を表す。
%10000   2進法での実数10000b(10進数では16)を表す。
$20     アドレス$000020を指す。ちなみにアドレス$000020はRAMアドレス$7E0020に等しい。
$1234    アドレス$011234を指す。ちなみにアドレス$011234はRAMアドレス$7E1234に等しい。$2000以降は$7E2000とは異なるので注意。
$123456  アドレス$123456を指す。
$1234,x  X=1の時は、アドレス$1235の事を、X=10の時はアドレス$1244をの事を指す。


LoadとStore
LDA #$20    実数$20をレジスタAに格納する。
LDA $1234    RAMアドレス$7E1234の現在の値をレジスタAに格納する。
LDX #$20    実数$20をレジスタXに格納する。
LDY $1234    RAMアドレス$7E1234の現在の値をレジスタYに格納する。
STA $7E3456   レジスタAに格納されてる値を、RAMアドレス$7E3456に上書きする。
STX $1234    レジスタXに格納されてる値を、RAMアドレス$7E1234に上書きする。
STY $20     レジスタYに格納されてる値を、RAMアドレス$7E0020に上書きする。


PUSHとPULL
PHA    ;A:10 X:20 Y:30 レジスタAの値をスタックに格納。
LDA #$30 ;A:30 X:20 Y:30 レジスタAに$30を代入。
PLA    ;A:10 X:20 Y:30 レジスタAにスタックから値を引き出す。

PHX    ;A:10 X:20 Y:30 レジスタXの値をスタックに格納。
PHY    ;A:10 X:20 Y:30 レジスタYの値をスタックに格納。
LDX #$30 ;A:10 X:30 Y:30 レジスタXに$30を代入。
LDY #$10 ;A:10 X:30 Y:10 レジスタYに$10を代入。
PLY    ;A:10 X:30 Y:30 レジスタYにスタックから値を引き出す。
PLX    ;A:10 X:20 Y:30 レジスタXにスタックから値を引き出す。引き出される順番に注意してください。

PUSHしたら、同じ回数だけPULLして、スタックの中身を元の状態に戻しておかないとフリーズの元になります。


Transfer
値をコピーする。
TXA A:20 X:30 →A:30 X:30
TAY A:20 Y:30 →A:20 Y:20
TXY X:20 Y:30 →X:30 Y:30


加算減算
INC A  A:10→A:11
DEC A  A:10→A:0F
INC $1234  RAMアドレス$7E1234の値を1増やす。
DEC $20  RAMアドレス$7E0020の値を1減らす。

$7E1234の値を$30増やす。

LDA $1234
CLC
ADC #$30
STA $1234


$7E1234の値を$30減らす。

LDA $1234
SEC
SBC #$30
STA $1234


$7E1234-7E1235の2byte分の値を$30増やす。

LDA $1234
CLC
ADC #$30
STA $1234
LDA $1235
ADC #$00
上の足し算で繰り上がりされていた場合、自動的に1足される。
STA $1235

$7E1234-7E1235の2byte分の値を$30減らす。

LDA $1234
SEC
SBC #$30
STA $1234
LDA $1235
SBC #$00
上の引き算で繰り下がりされていた場合、自動的に1引かれる。
STA $1235