set_flg

iset_flg

概要

ビット・パターンのセット

C言語形式

 ER      set_flg ( ID flgid, FLGPTN setptn );
 
 ER      iset_flg ( ID flgid, FLGPTN setptn );
 

アセンブリ言語形式

 MOVW    BC, #setptn
 MOV     A,  #flgid
 CALL    !!_set_flg
 
 MOVW    BC, #setptn
 MOV     A,  #flgid
 CALL    !!_iset_flg
 

パラメータ

I/O

パラメータ

説明

I

 ID      flgid;
イベントフラグのID

I

 FLGPTN  setptn;
セットするビット・パターン(16ビット幅)

 

機能

flgidで指定されたイベントフラグのビット・パターンとsetptnで指定されたビット・パターンの論理和ORを対象イベントフラグのビット・パターンとして設定します。

ただし,本サービス・コールを発行した際,対象イベントフラグの待ちキューにキューイングされているタスクの要求条件を満足した場合には,ビット・パターンの設定処理とともに,該当タスクを待ちキューから外します。

これにより,該当タスクは,WAITING状態(イベントフラグ待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。

備考1 本サービス・コールを発行した際,待ちキューのタスクがREADY状態へと遷移する場合は,該当タスクの優先度に対応したレディ・キューの最後尾にキューイングし直す処理もあわせて実行されます。

備考2 本サービス・コールを発行した際,対象イベントフラグに設定されているビット・パターンがB'1100,setptnで指定されたビット・パターンがB'1010であった場合には,対象イベントフラグのビット・パターンはB'1110となります。

戻り値

マクロ

数値

意味

E_OK

0

正常終了