-
sus_tsk
isus_tsk
-
ER sus_tsk ( ID tskid );
ER isus_tsk ( ID tskid );
|
MOV A, #tskid
CALL !!_sus_tsk
MOV A, #tskid
CALL !!_isus_tsk
|
tskidで指定されたタスクのサスペンド要求カウンタに0x1を加算したのち,対象タスクをRUNNING状態からSUSPENDED状態へ,READY状態からSUSPENDED状態へ,またはWAITING状態からWAITING-SUSPENDED状態へと遷移させます。
ただし,本サービス・コールを発行した際,対象タスクがSUSPENDED状態,またはWAITING-SUSPENDED状態へと遷移していた場合には,状態操作処理は実行されず,サスペンド要求カウンタの加算処理のみが実行されます。
なお,SUSPENDED状態の解除は,以下の場合に行われ,SUSPENDED状態からREADY状態へと遷移します。
備考1 本サービス・コールを発行した際,対象タスクが自タスクの場合は,レディ・キューから外れ,RI78V4のスケジューリング対象から除外されます。
備考2 RI78V4が管理するサスペンド要求カウンタは,7ビット幅で構成されています。このため,本サービス・コールの発行により,サスペンド要求数が最大カウント値127を越える場合には,カウンタ操作処理は実行されず,戻り値として“E_QOVR”が返されます。