ASL この命令で変更されうるフラグ:ネガティブフラグ、ゼロフラグ、キャリーフラグ
論理左シフト。
倍々にしていく。


8bitモード時
A : %00100101
↓ASL A
A : %01001010
↓ASL A
A : %10010100
↓ASL A
A : %00101000
↓ASL A
A : %01010000
↓ASL A
A : %10100000


使えるアドレッシングモードは以下の通り。
ASL A
ASL $??
ASL $????
ASL $??,x
ASL $????,x



LSR この命令で変更されうるフラグ:ネガティブフラグ、ゼロフラグ、キャリーフラグ
論理右シフト。
半分になる。


8bitモード時
A : %00100101
↓LSR A
A : %00010010
↓LSR A
A : %00001001
↓LSR A
A : %00000100
↓LSR A
A : %00000010
↓LSR A
A : %00000001


使えるアドレッシングモードは以下の通り。
LSR A
LSR $??
LSR $????
LSR $??,x
LSR $????,x



ROL この命令で変更されうるフラグ:ネガティブフラグ、ゼロフラグ、キャリーフラグ
論理左ローテート。
キャリーフラグを含めた9bit(17bit)でローテートする。

8bitモード時
A : %00100101 carryflag:0
↓ROL A
A : %01001010 carryflag:0
↓ROL A
A : %10010100 carryflag:0
↓ROL A
A : %00101000 carryflag:1
↓ROL A
A : %01010001 carryflag:0
↓ROL A
A : %10100010 carryflag:0


使えるアドレッシングモードは以下の通り。
ROL A
ROL $??
ROL $????
ROL $??,x
ROL $????,x



ROR この命令で変更されうるフラグ:ネガティブフラグ、ゼロフラグ、キャリーフラグ
論理右ローテート。
キャリーフラグを含めた9bit(17bit)でローテートする。

8bitモード時
A : %00100101 carryflag:0
↓ROR A
A : %00010010 carryflag:1
↓ROR A
A : %10001001 carryflag:0
↓ROR A
A : %01000100 carryflag:1
↓ROR A
A : %10100010 carryflag:0
↓ROR A
A : %01010001 carryflag:0


使えるアドレッシングモードは以下の通り。
ROR A
ROR $??
ROR $????
ROR $??,x
ROR $????,x