ASL 命令 (Arithmetic Shift Memory Left)
アキュムレータまたはメモリの値を算術左シフトします。

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


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

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

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

参照