AND 命令 (Logical AND with Memory)
アキュムレータとメモリの間で論理積を取り、結果をアキュムレータに返します。

ANDオーバーロード
オペコード 構文 アドレッシングモード バイト数 命令サイクル
29
AND #const
Imm.
2/ 3
2
1, 4
25
AND dp
DP.
2
3
1, 2
32
AND (dp)
DP. Ind
2
5
1, 2
27
AND [dp]
DP. Ind long
2
6
1, 2
35
AND dp, X
DP. Idx X
2
4
1, 2
21
AND (dp, X)
DP. Idx Ind X
2
6
1, 2
31
AND (dp), Y
DP. Ind Idx Y
2
5
1, 2, 3
37
AND [dp], Y
DP. Ind long Idx Y
2
6
1, 2
2D
AND abs
Abs.
3
4
1
3D
AND abs, X
Abs. Idx X
3
4
1, 3
39
AND abs, Y
Abs. Idx Y
3
4
1, 3
2F
AND long
Abs. Iong
4
5
1
3F
AND long, X
Abs. long Idx X
4
5
1
23
AND sp, S
SR.
2
4
1
33
AND (sp, S), Y
SR. Ind Idx Y
2
7
1


1. メモリモードフラグクリア時は1サイクル追加
2. ダイレクトページの開始アドレスがページ境界になっていない場合1サイクル追加
3. インデクス加算時にページ境界を超える場合は1サイクル追加
4. メモリモードフラグクリア時は3バイト。メモリモードフラグセット時は2バイト。
 
フラグ変化
n-----z-

n: 結果のMSBが格納される。
z: 結果が0の場合にセットされ、それ以外の場合はクリアされる。
解説
AND命令はオペコードによって指定されたアドレッシングモードに従って、アキュムレータとメモリの値との間のビットごとの論理積を計算し、アキュムレータに結果を返します。
アキュムレータが16ビット幅の場合は16ビットで計算を行い、8ビットの場合は8ビットで計算を行います。

参照