ROL 命令 (Rotate Memory Left)
アキュムレータまたはメモリの値を左ローテートします。

ROL オーバーロード
オペコード 構文 アドレッシングモード バイト数 命令サイクル
2A
ROL A
Acc.
1
2
26
ROL dp
DP.
2
5
1, 2
36
ROL dp, X
DP. Idx X
2
6
1, 2
2E
ROL abs
Abs.
3
6
1
3E
ROL abs, X
Abs. Idx X
3
7
1


1. メモリモードフラグクリア時は1サイクル追加
2. ダイレクトページの開始アドレスがページ境界になっていない場合1サイクル追加
 
フラグ変化
n-----zc

n: 結果のMSBが格納される。
z: 結果が0の場合にセットされ、それ以外の場合はクリアされる。
c: 演算前のメモリまたはアキュムレータの値のMSBがセットされる。

解説
ROL命令はオペコードによって指定されたアドレッシングモードに従って、アキュムレータまたはメモリの値を左回転シフトしてアキュムレータまたはメモリに返します。
シフト操作はキャリーフラグを含めた9ないし17ビットで実行され、キャリーフラグの値は結果のLSBとなり、演算前のMSBはキャリーフラグへ押し出されます。
アキュムレータが16ビット幅の場合は16ビットで計算を行い、8ビットの場合は8ビットで計算を行います。

参照