この章の目次にもどる
前頁:1.18 tstring.h にもどる
次頁:1.20 queue.h にすすむ

1.19 bitop.h

ビット操作に関する関数群で、ヘッダ・ファイルは bsys/bitop.h である。

操作対象のビットに関しては、 基準となるアドレス、基準アドレスからのオフセット、 および bit 長で指定することになる。

オフセットは基準アドレスの MSB を 0 として指定する。 オフセットに 8 を超える値を指定可能であり、 操作対象ビット ( 列 ) が基準アドレスの指す 1 バイトに含まれている必要はない。
オフセット及びビット長に負の値を指定した場合の動作は保証しない。

操作対象ビットの指定
図 2 : 操作対象ビットの指定

 

BCLR
 
ビットのクリア

【形式】

VOID    BCLR(VP base, W offset)

【パラメータ】

VP  base    基準アドレス
W   offset  オフセット

【リターン値】

なし

【解説】

基準アドレス base から offset ビットの 1 ビットを 0 に設定する。

BSET
 
ビットのセット

【形式】

VOID    BSET(VP base, W offset)

【パラメータ】

VP  base    基準アドレス
W   offset  オフセット

【リターン値】

なし

【解説】

基準アドレス base から offset ビットの 1 ビットを 1 に設定する。

BNOT
 
ビットの反転

【形式】

VOID    BNOT(VP base, W offset)

【パラメータ】

VP  base    基準アドレス
W   offset  オフセット

【リターン値】

なし

【解説】

基準アドレス base から offset ビットの 1 ビットを反転する。

BTST
 
ビットのテスト

【形式】

W   BTST(VP base, W offset)

【パラメータ】

VP  base    基準アドレス
W   offset  オフセット

【リターン値】

0     : 指定したビットは0
その他: 指定したビットは1

【解説】

基準アドレス base から offset ビットの 1 ビットをチェックする。 指定したビットは 0 の場合は 0 を返し、 ビットが 1 の場合は 0 以外の値を返す。

BVSCH0
 
ビット0のサーチ

【形式】

W   BVSCH0(VP base, W offset, W bitwidth)

【パラメータ】

VP  base     基準アドレス
W   offset   オフセット
W   bitwidth サーチ対象ビット長

【リターン値】

< 0    サーチ対象ビット列に 0 は含まれなかった。
≧ 0    ビットが 0 であった最初のビット位置

【解説】

基準アドレス base + offset から bitwidth ビットをサーチする。
offset から offset + bitwidth までを順に調べ、 最初に見つかった 0 のビット位置 ( offset からのオフセット ) を関数値として戻す。
指定したサーチ対象ビット列に 0 が含まれなかった場合は負の値を戻す。

検索結果のビット位置
図 3 : 検索結果のビット位置
BVSCH1
 
ビット1のサーチ

【形式】

W   BVSCH1(VP base, W offset, W bitwidth)

【パラメータ】

VP  base     基準アドレス
W   offset   オフセット
W   bitwidth サーチ対象ビット長

【リターン値】

< 0    サーチ対象ビット列に1は含まれなかった。
≧ 0    ビットが 1 であった最初のビット位置

【解説】

基準アドレス base + offset から bitwidth ビットをサーチする。
offset から offset + bitwidth までを順に調べ、最初に見つかった 0 のビット位置 ( offset からのオフセット) を関数値として戻す。
指定したサーチ対象ビット列に 1 が含まれなかった場合は負の値を戻す。

【参照】

BVSCH0()

BVCLR
 
ビット列のクリア

【形式】

VOID    BVCLR(VP base, W offset, W bitwidth)

【パラメータ】

VP  base     基準アドレス
W   offset   オフセット
W   bitwidth クリア対象ビット長

【リターン値】

なし

【解説】

指定したアドレス、 オフセットからの bitwidth ビットをすべて 0 に設定する。

BVSET
 
ビット列のセット

【形式】

VOID    BVSET(VP base, W offset, W bitwidth)

【パラメータ】

VP  base     基準アドレス
W   offset   オフセット
W   bitwidth 設定対象ビット長

【リターン値】

なし

【解説】

指定したアドレス、 オフセットからの bitwidth ビットをすべて 1 に設定する。


この章の目次にもどる
前頁:1.18 tstring.h にもどる
次頁:1.20 queue.h にすすむ