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

ORAオーバーロード
オペコード 構文 アドレッシングモード バイト数 命令サイクル
09
ORA #const
Imm.
2/ 3
2
1, 4
05
ORA dp
DP.
2
3
1, 2
12
ORA (dp)
DP. Ind
2
5
1, 2
07
ORA [dp]
DP. Ind long
2
6
1, 2
15
ORA dp, X
DP. Idx X
2
4
1, 2
01
ORA (dp, X)
DP. Idx Ind X
2
6
1, 2
11
ORA (dp), Y
DP. Ind Idx Y
2
5
1, 2, 3
17
ORA [dp], Y
DP. Ind long Idx Y
2
6
1, 2
0D
ORA abs
Abs.
3
4
1
1D
ORA abs, X
Abs. Idx X
3
4
1, 3
19
ORA abs, Y
Abs. Idx Y
3
4
1, 3
0F
ORA long
Abs. Iong
4
5
1
1F
ORA long, X
Abs. long Idx X
4
5
1
03
ORA sp, S
SR.
2
4
1
13
ORA (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の場合にセットされ、それ以外の場合はクリアされる。
解説
ORA命令はオペコードによって指定されたアドレッシングモードに従って、アキュムレータとメモリの値との間のビットごとの論理和を計算し、アキュムレータに結果を返します。
アキュムレータが16ビット幅の場合は16ビットで計算を行い、8ビットの場合は8ビットで計算を行います。

参照