Everything
5.1.15 ビット位置指定子

ビット位置指定子( . )を使用することにより,ビット・アクセスが可能になります。

(1)

記述形式

アドレス.ビット位置

(2)

機能

第1項にアドレスを指定するもの,第2項にビット位置を指定するものを指定します。これにより,ビット・アクセスが可能になります。

(3)

説明

-

ビット位置指定子によって得られたものを,ビット値を持つビット項と呼びます。

-

ビット項は,式の項として記述することはできません。

-

ビット位置指定子には演算子との優先順位はなく,左辺を第1項,右辺を第2項と認識します。

-

第1項には,次の制限があります。

-

ビット・データを扱う命令(MOV1など)で指定可能なオペランドが記述できます(詳細については,デバイスのユーザーズ・マニュアルを参照してください)。

-

第1項に絶対式を記述する場合は,0x00000~0xFFFFFの範囲でなければなりません。

-

外部参照名を記述することができます。

-

第2項には,次の制限があります。

-

絶対式の値は,0~7の範囲です。範囲を越えた場合にはエラーとなります。

-

外部参照名を記述することはできません。

(4)

演算とリロケーション属性

リロケーション属性における第1項と第2項の組み合わせを次に示します。

項の組み合わせX:

ABS

ABS

REL

REL

項の組み合わせY:

ABS

REL

ABS

REL

X.Y

A

R

 

ABS : アブソリュート項

REL : リロケータブル項

A : 演算結果がアブソリュート項になります。

R : 演算結果がリロケータブル項になります。

- : 演算不可

(5)

使用例

MOV1    CY, 0xFFE20.3
AND1    CY, A.5
CLR1    P1.2
SET1    1 + 0xFFE30.3   ;0xFFE31.3に等しい((1 + 0xFFE30)が第1項,3が第2項)
SET1    0xFFE40.4 + 2   ;0xFFE40.6に等しい(0xFFE40 が第1項,(4 + 2)が第2項)