ビット単位の演算子を使用する
SPRM
値を扱う場合、通常は各
16
ビット値の中の特定ビットのみが必要です。“ビット単位”の演
算子(
AND
、
OR
、
XOR
)を使用すると、不必要なビットをマスキングし、必要な特定のビットが示
すステータスのみを判別することができます。
参考:これらの演算子を使用するには、
2
進数の基本的な扱い方を理解しておく必要があります。
例:“ビット単位の
AND
”演算子を使用する
DVD
プレーヤーに設定されているモニタのアスペクト比が
4:3
および
16:9
のどちらであるかを確認
する必要があるとします。アスペクト比を判別するには、
SPRM 14
のビット
10
とビット
11
を調べ
るだけで済みます。その場合には、“ビット単位の
AND
”演算子を使用して
10
と
11
以外のすべて
のビットをマ スキングすることで、ほか のビット値に煩わされ ることなく簡単にアス ペクト比のス
テータスを判別できます。
上の表で、
SPRM 14
のビット値が
x
になっているものは不必要なビットです。“
0/1
”と記載されて
いるビット
10
とビット
11
は、これらが必要なビットであり、値
0
または
1
のいずれかを取ること
を意味します。
AND
演算を実行する場合は、マスキングするビットの
AND
値を
0
に設定すること
により、それらのビットはどのような状態であっても無効化されます。値を保持するビットに
1
を
設定すると、適切な結果が得られます。つまり実際の値が
0
であれば
0
、
1
であれば
1
になります。
SPRM 14
の場合は、
AND
値
3072
で正しくマスキングすることができます。
AND
演算の結果として得られる値は、
0
、
1024
、
2048
、および
3072
の
4
通りです。
SPRM 14
では、
結果が
0
の場合
DVD
プレーヤーのアスペクト比は
4:3
、結果が
3072
の場合は
16:9
に設定されてい
ることを示します(結果が
1024
および
2048
の場合は、アスペクト比が未指定または予約済みであ
ることを意味します)。
リージョン
SPRM 20
の値
1
1
2
2
3
4
4
8
5
16
6
32
7
64
8
128
15
x
0
0
14
x
0
0
13
x
0
0
12
x
0
0
11
0/1
1
0/1
10
0/1
1
0/1
9
x
0
0
8
x
0
0
7
x
0
0
6
x
0
0
5
x
0
0
4
x
0
0
3
x
0
0
2
x
0
0
1
x
0
0
0
x
0
0
Bits
SPRM 14
AND
値
積
504
第
14
章
スクリプトを作成する
GPRM
(
General Purpose Register Memories
)
GPRM
(