-
set_flg
iset_flg
-
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
|
flgidで指定されたイベントフラグのビット・パターンと
setptnで指定されたビット・パターンの論理和ORを対象イベントフラグのビット・パターンとして設定します。
ただし,本サービス・コールを発行した際,対象イベントフラグの待ちキューにキューイングされているタスクの要求条件を満足した場合には,ビット・パターンの設定処理とともに,該当タスクを待ちキューから外します。
これにより,該当タスクは,WAITING状態(イベントフラグ待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
備考1 本サービス・コールを発行した際,待ちキューのタスクがREADY状態へと遷移する場合は,該当タスクの優先度に対応したレディ・キューの最後尾にキューイングし直す処理もあわせて実行されます。
備考2 本サービス・コールを発行した際,対象イベントフラグに設定されているビット・パターンがB'1100,
setptnで指定されたビット・パターンがB'1010であった場合には,対象イベントフラグのビット・パターンはB'1110となります。