-   
   sig_sem
   isig_sem
  
    -   
  
 	
  
  
    | 
 ER      sig_sem ( ID semid );
 
 
 
 ER      isig_sem ( ID semid );
 | 
 
 
 	
  
  
    | 
 MOV     A, #semid
 
 CALL    !!_sig_sem
 
 
 
 MOV     A, #semid
 
 CALL    !!_isig_sem
 | 
 
 
 semidで指定されたセマフォに資源を返却(セマフォ・カウンタに0x1を加算)します。
 
 ただし,本サービス・コールを発行した際,対象セマフォの待ちキューにタスクがキューイングされていた場合には,カウンタ操作処理は実行されず,該当タスク(待ちキューの先頭タスク)に資源が渡されます。
 
 これにより,該当タスクは,待ちキューから外れ,WAITING状態(資源待ち状態)からREADY状態へ,またはWAITING-SUSPENDED状態からSUSPENDED状態へと遷移します。
 
 備考1 本サービス・コールを発行した際,待ちキューの先頭タスクがREADY状態へと遷移する場合は,該当タスクの優先度に対応したレディ・キューの最後尾にキューイングし直す処理もあわせて実行されます。
 
 備考2 RI78V4が管理しているセマフォ・カウンタは,7ビット幅で構成されています。このため,本サービス・コールの発行により,資源数が最大カウント値127を越える場合には,カウンタ操作処理は実行されず,戻り値として“E_QOVR”が返されます。