-
rcv_mbx
-
ER rcv_mbx ( ID mbxid, T_MSG **ppk_msg );
|
MOVW BC, #LOWW(_ppk_msg)
MOV A, #mbxid
CALL !!_rcv_mbx
|
|
|
|
|
ID mbxid;
|
|
|
T_MSG **ppk_msg;
|
メッセージの先頭アドレスを格納する領域へのポインタ
|
mbxidで指定されたメールボックスからメッセージを受信し,その先頭アドレスを
ppk_msgで指定された領域に格納します。
ただし,本サービス・コールを発行した際,対象メールボックスからメッセージを受信することができなかった(待ちキューにメッセージがキューイングされていなかった)場合には,メッセージの受信処理は実行されず,自タスクを対象メールボックスの待ちキューにメッセージの受信要求順(FIFO順)でキューイングします。
これにより,自タスクは,レディ・キューから外れ,RUNNING状態からWAITING状態(メッセージ待ち状態)へと遷移します。
なお,メッセージ待ち状態の解除は,以下の場合に行われ,メッセージ待ち状態からREADY状態へと遷移します。
|
|
snd_mbxの発行により,対象メールボックスにメッセージが送信された
|
|
|
|
|
|