Index: UsbWattMeter/trunk/asp_dcre/kernel/alarm.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/alarm.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/alarm.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		A[nh@\
+ *		アラームハンドラ機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ALM_ENTER
@@ -121,5 +117,5 @@
 
 /*
- *  A[nhÌ
+ *  アラームハンドラの数
  */
 #define tnum_alm	((uint_t)(tmax_almid - TMIN_ALMID + 1))
@@ -127,5 +123,5 @@
 
 /*
- *  A[nhID©çA[nhÇubNðæèo·½ßÌ}N
+ *  アラームハンドラIDからアラームハンドラ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_ALM(almid)	((uint_t)((almid) - TMIN_ALMID))
@@ -135,14 +131,13 @@
 
 /*
- *  gpµÄ¢È¢A[nhÇubNÌXg
+ *  使用していないアラームハンドラ管理ブロックのリスト
  *
- *  A[nhÇubNÌæªÉÍL
-[ÉÂÈ®½ßÌÌæªÈ
- *  ¢½ßC^CCxgubNitmevtbjÌÌæðp¢éD
+ *  アラームハンドラ管理ブロックの先頭にはキューにつなぐための領域がな
+ *  いため，タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_almcb;
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 void
@@ -171,5 +166,5 @@
 
 /*
- *  A[nhÌ¶¬
+ *  アラームハンドラの生成
  */
 #ifdef TOPPERS_acre_alm
@@ -213,5 +208,5 @@
 
 /*
- *  A[nhÌí
+ *  アラームハンドラの削除
  */
 #ifdef TOPPERS_del_alm
@@ -257,5 +252,5 @@
 
 /*
- *  A[nhÌ®ìJn
+ *  アラームハンドラの動作開始
  */
 #ifdef TOPPERS_sta_alm
@@ -298,5 +293,5 @@
 
 /*
- *  A[nhÌ®ìJniñ^XNReLXgpj
+ *  アラームハンドラの動作開始（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ista_alm
@@ -339,5 +334,5 @@
 
 /*
- *  A[nhÌ®ìâ~
+ *  アラームハンドラの動作停止
  */
 #ifdef TOPPERS_stp_alm
@@ -375,5 +370,5 @@
 
 /*
- *  A[nhÌ®ìâ~iñ^XNReLXgpj
+ *  アラームハンドラの動作停止（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_istp_alm
@@ -411,5 +406,5 @@
 
 /*
- *  A[nhÌóÔQÆ
+ *  アラームハンドラの状態参照
  */
 #ifdef TOPPERS_ref_alm
@@ -450,5 +445,5 @@
 
 /*
- *  A[nhN®[`
+ *  アラームハンドラ起動ルーチン
  */
 #ifdef TOPPERS_almcal
@@ -460,10 +455,10 @@
 
 	/*
-	 *  A[nhðâ~óÔÉ·éD
+	 *  アラームハンドラを停止状態にする．
 	 */
 	p_almcb->almsta = false;
 
 	/*
-	 *  A[nhðCCPUbNðóÔÅÄÑo·D
+	 *  アラームハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	saved_ipm = i_get_ipm();
Index: UsbWattMeter/trunk/asp_dcre/kernel/alarm.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/alarm.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/alarm.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		A[nh@\
+ *		アラームハンドラ機能
  */
 
@@ -56,28 +52,28 @@
 
 /*
- *  A[nhú»ubN
+ *  アラームハンドラ初期化ブロック
  */
 typedef struct alarm_handler_initialization_block {
-	ATR			almatr;			/* A[nh®« */
-	intptr_t	exinf;			/* A[nhÌg£îñ */
-	ALMHDR		almhdr;			/* A[nhÌN®Ôn */
+	ATR			almatr;			/* アラームハンドラ属性 */
+	intptr_t	exinf;			/* アラームハンドラの拡張情報 */
+	ALMHDR		almhdr;			/* アラームハンドラの起動番地 */
 } ALMINIB;
 
 /*
- *  A[nhÇubN
+ *  アラームハンドラ管理ブロック
  */
 typedef struct alarm_handler_control_block {
-	const ALMINIB *p_alminib;	/* ú»ubNÖÌ|C^ */
-	bool_t		almsta;			/* A[nhÌ®ìóÔ */
-	TMEVTB		tmevtb;			/* ^CCxgubN */
+	const ALMINIB *p_alminib;	/* 初期化ブロックへのポインタ */
+	bool_t		almsta;			/* アラームハンドラの動作状態 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } ALMCB;
 
 /*
- *  gpµÄ¢È¢A[nhÇubNÌXg
+ *  使用していないアラームハンドラ管理ブロックのリスト
  */
 extern QUEUE	free_almcb;
 
 /*
- *  A[nhIDÌÅålikernel_cfg.cj
+ *  アラームハンドラIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_almid;
@@ -85,5 +81,5 @@
 
 /*
- *  A[nhú»ubNÌGAikernel_cfg.cj
+ *  アラームハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ALMINIB	alminib_table[];
@@ -91,21 +87,21 @@
 
 /*
- *  A[nhÇubNÌGAikernel_cfg.cj
+ *  アラームハンドラ管理ブロックのエリア（kernel_cfg.c）
  */
 extern ALMCB	almcb_table[];
 
 /*
- *  A[nhÇubN©çA[nhIDðæèo·½ßÌ
- *  }N
+ *  アラームハンドラ管理ブロックからアラームハンドラIDを取り出すための
+ *  マクロ
  */
 #define	ALMID(p_almcb)	((ID)(((p_almcb) - almcb_table) + TMIN_ALMID))
 
 /*
- *  A[nh@\Ìú»
+ *  アラームハンドラ機能の初期化
  */
 extern void	initialize_alarm(void);
 
 /*
- *  A[nhN®[`
+ *  アラームハンドラ起動ルーチン
  */
 extern void	call_almhdr(ALMCB *p_almcb);
Index: UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/allfunc.h	(revision 167)
@@ -7,36 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -44,5 +40,5 @@
 
 /*
- *		·×ÄÌÖðRpC·é½ßÌè`
+ *		すべての関数をコンパイルするための定義
  */
 
Index: UsbWattMeter/trunk/asp_dcre/kernel/check.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/check.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/check.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		G[`FbNp}N
+ *		エラーチェック用マクロ
  */
 
@@ -53,5 +49,5 @@
 
 /*
- *  \ñ®«G[Ì`FbNiE_PARj
+ *  予約属性エラーのチェック（E_PAR）
  */
 #define CHECK_RSATR(atr, valid_atr) do {					\
@@ -63,5 +59,5 @@
 
 /*
- *  DæxÌÍÍÌ»è
+ *  優先度の範囲の判定
  */
 #define VALID_TPRI(tpri)	(TMIN_TPRI <= (tpri) && (tpri) <= TMAX_TPRI)
@@ -80,5 +76,5 @@
 
 /*
- *  ^XNDæxÌ`FbNiE_PARj
+ *  タスク優先度のチェック（E_PAR）
  */
 #define CHECK_TPRI(tpri) do {								\
@@ -104,5 +100,5 @@
 
 /*
- *  f[^DæxÌ`FbNiE_PARj
+ *  データ優先度のチェック（E_PAR）
  */
 #define CHECK_DPRI(dpri) do {								\
@@ -114,5 +110,5 @@
 
 /*
- *  bZ[WDæxÌ`FbNiE_PARj
+ *  メッセージ優先度のチェック（E_PAR）
  */
 #define CHECK_MPRI(mpri) do {								\
@@ -124,5 +120,5 @@
 
 /*
- *  ÝT[rX[`DæxÌ`FbNiE_PARj
+ *  割込みサービスルーチン優先度のチェック（E_PAR）
  */
 #define CHECK_ISRPRI(isrpri) do {							\
@@ -134,5 +130,5 @@
 
 /*
- *  ^CAEgwèlÌ`FbNiE_PARj
+ *  タイムアウト指定値のチェック（E_PAR）
  */
 #define CHECK_TMOUT(tmout) do {								\
@@ -144,5 +140,5 @@
 
 /*
- *  ÝDæxÌ`FbNiE_PARj
+ *  割込み優先度のチェック（E_PAR）
  */
 #define CHECK_INTPRI_CHGIPM(intpri) do {					\
@@ -154,5 +150,5 @@
 
 /*
- *  ÝÔÌ`FbNiE_PARj
+ *  割込み番号のチェック（E_PAR）
  */
 #define CHECK_INTNO_CREISR(intno) do {						\
@@ -171,5 +167,5 @@
 
 /*
- *  ACµÄ¢é©Ì»è
+ *  アラインしているかの判定
  */
 #define ALIGNED(val, align)		((((uintptr_t)(val)) & ((align) - 1U)) == 0U)
@@ -206,5 +202,5 @@
 
 /*
- *  NULLÅÈ¢±ÆÌ`FbN
+ *  NULLでないことのチェック
  */
 #ifdef CHECK_FUNC_NONNULL
@@ -215,5 +211,5 @@
 
 /*
- *  ÖÌæªÔnÌ`FbNiE_PARj
+ *  関数の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_FUNC(func) do {							\
@@ -232,5 +228,5 @@
 
 /*
- *  X^bNTCYÌ`FbNiE_PARj
+ *  スタックサイズのチェック（E_PAR）
  */
 #define CHECK_ALIGN_STKSZ(stksz) do {						\
@@ -242,5 +238,5 @@
 
 /*
- *  X^bNÌæªÔnÌ`FbNiE_PARj
+ *  スタックの先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_STACK(stack) do {						\
@@ -252,5 +248,5 @@
 
 /*
- *  Åè·v[ÌæÌæªÔnÌ`FbNiE_PARj
+ *  固定長メモリプール領域の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_MPF(mpf) do {							\
@@ -262,5 +258,5 @@
 
 /*
- *  ÇÌæÌæªÔnÌ`FbNiE_PARj
+ *  管理領域の先頭番地のチェック（E_PAR）
  */
 #define CHECK_ALIGN_MB(mb) do {								\
@@ -272,5 +268,5 @@
 
 /*
- *  »Ì¼Ìp[^G[Ì`FbNiE_PARj
+ *  その他のパラメータエラーのチェック（E_PAR）
  */
 #define CHECK_PAR(exp) do {									\
@@ -282,5 +278,5 @@
 
 /*
- *  IuWFNgIDÌÍÍÌ»è
+ *  オブジェクトIDの範囲の判定
  */
 #define VALID_TSKID(tskid)	(TMIN_TSKID <= (tskid) && (tskid) <= tmax_tskid)
@@ -296,5 +292,5 @@
 
 /*
- *  IuWFNgIDÌ`FbNiE_IDj
+ *  オブジェクトIDのチェック（E_ID）
  */
 #define CHECK_TSKID(tskid) do {								\
@@ -376,5 +372,5 @@
 
 /*
- *  ÄoµReLXgÌ`FbNiE_CTXj
+ *  呼出しコンテキストのチェック（E_CTX）
  */
 #define CHECK_TSKCTX() do {									\
@@ -393,5 +389,5 @@
 
 /*
- *  ÄoµReLXgÆCPUbNóÔÌ`FbNiE_CTXj
+ *  呼出しコンテキストとCPUロック状態のチェック（E_CTX）
  */
 #define CHECK_TSKCTX_UNL() do {								\
@@ -410,5 +406,5 @@
 
 /*
- *  fBXpb`Û¯óÔÅÈ¢©Ì`FbNiE_CTXj
+ *  ディスパッチ保留状態でないかのチェック（E_CTX）
  */
 #define CHECK_DISPATCH() do {								\
@@ -420,5 +416,5 @@
 
 /*
- *  »Ì¼ÌReLXgG[Ì`FbNiE_CTXj
+ *  その他のコンテキストエラーのチェック（E_CTX）
  */
 #define CHECK_CTX(exp) do {									\
@@ -430,5 +426,5 @@
 
 /*
- *  ©^XNðwèµÄ¢È¢©Ì`FbNiE_ILUSEj
+ *  自タスクを指定していないかのチェック（E_ILUSE）
  */
 #define CHECK_NONSELF(p_tcb) do {							\
@@ -440,5 +436,5 @@
 
 /*
- *  »Ì¼Ìs³gpG[Ì`FbNiE_ILUSEj
+ *  その他の不正使用エラーのチェック（E_ILUSE）
  */
 #define CHECK_ILUSE(exp) do {								\
@@ -450,5 +446,5 @@
 
 /*
- *  ¢T|[g@\G[Ì`FbNiE_NOSPTj
+ *  未サポート機能エラーのチェック（E_NOSPT）
  */
 #define CHECK_NOSPT(exp) do {								\
@@ -460,5 +456,5 @@
 
 /*
- *  ÃIÈIuWFNgóÔG[Ì`FbNiE_OBJj
+ *  静的なオブジェクト状態エラーのチェック（E_OBJ）
  */
 #define CHECK_OBJ(exp) do {									\
Index: UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/cyclic.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		üúnh@\
+ *		周期ハンドラ機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_CYC_ENTER
@@ -105,5 +101,5 @@
 
 /*
- *  üúnhÌ
+ *  周期ハンドラの数
  */
 #define tnum_cyc	((uint_t)(tmax_cycid - TMIN_CYCID + 1))
@@ -111,5 +107,5 @@
 
 /*
- *  üúnhID©çüúnhÇubNðæèo·½ßÌ}N
+ *  周期ハンドラIDから周期ハンドラ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_CYC(cycid)	((uint_t)((cycid) - TMIN_CYCID))
@@ -117,5 +113,5 @@
 
 /*
- *  üúnhN®Ì½ßÌ^CCxgubNÌo^
+ *  周期ハンドラ起動のためのタイムイベントブロックの登録
  */
 Inline void
@@ -130,14 +126,13 @@
 
 /*
- *  gpµÄ¢È¢üúnhÇubNÌXg
+ *  使用していない周期ハンドラ管理ブロックのリスト
  *
- *  üúnhÇubNÌæªÉÍL
-[ÉÂÈ®½ßÌÌæªÈ¢½
- *  ßC^CCxgubNitmevtbjÌÌæðp¢éD
+ *  周期ハンドラ管理ブロックの先頭にはキューにつなぐための領域がないた
+ *  め，タイムイベントブロック（tmevtb）の領域を用いる．
  */
 QUEUE	free_cyccb;
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 void
@@ -172,5 +167,5 @@
 
 /*
- *  üúnhÌ¶¬
+ *  周期ハンドラの生成
  */
 #ifdef TOPPERS_acre_cyc
@@ -225,5 +220,5 @@
 
 /*
- *  üúnhÌí
+ *  周期ハンドラの削除
  */
 #ifdef TOPPERS_del_cyc
@@ -269,5 +264,5 @@
 
 /*
- *  üúnhÌ®ìJn
+ *  周期ハンドラの動作開始
  */
 #ifdef TOPPERS_sta_cyc
@@ -308,5 +303,5 @@
 
 /*
- *  üúnhÌ®ìâ~
+ *  周期ハンドラの動作停止
  */
 #ifdef TOPPERS_stp_cyc
@@ -344,5 +339,5 @@
 
 /*
- *  üúnhÌóÔQÆ
+ *  周期ハンドラの状態参照
  */
 #ifdef TOPPERS_ref_cyc
@@ -383,5 +378,5 @@
 
 /*
- *  üúnhN®[`
+ *  周期ハンドラ起動ルーチン
  */
 #ifdef TOPPERS_cyccal
@@ -393,14 +388,14 @@
 
 	/*
-	 *  ñÌN®Ì½ßÌ^CCxgubNðo^·éD
+	 *  次回の起動のためのタイムイベントブロックを登録する．
 	 *
-	 *  ¯¶^CeBbNÅüúnhðÄxN®·×«êÉÍC±Ì
-	 *  Ö©çsignal_timeÉßÁ½ãÉCÄx±ÌÖªÄÎêé±ÆÉÈ
-	 *  éD
+	 *  同じタイムティックで周期ハンドラを再度起動すべき場合には，この
+	 *  関数からsignal_timeに戻った後に，再度この関数が呼ばれることにな
+	 *  る．
 	 */
 	tmevtb_enqueue_cyc(p_cyccb, p_cyccb->evttim + p_cyccb->p_cycinib->cyctim);
 
 	/*
-	 *  üúnhðCCPUbNðóÔÅÄÑo·D
+	 *  周期ハンドラを，CPUロック解除状態で呼び出す．
 	 */
 	saved_ipm = i_get_ipm();
Index: UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/cyclic.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		üúnh@\
+ *		周期ハンドラ機能
  */
 
@@ -56,31 +52,31 @@
 
 /*
- *  üúnhú»ubN
+ *  周期ハンドラ初期化ブロック
  */
 typedef struct cyclic_handler_initialization_block {
-	ATR			cycatr;			/* üúnh®« */
-	intptr_t	exinf;			/* üúnhÌg£îñ */
-	CYCHDR		cychdr;			/* üúnhÌN®Ôn */
-	RELTIM		cyctim;			/* üúnhÌN®üú */
-	RELTIM		cycphs;			/* üúnhÌN®Ê */
+	ATR			cycatr;			/* 周期ハンドラ属性 */
+	intptr_t	exinf;			/* 周期ハンドラの拡張情報 */
+	CYCHDR		cychdr;			/* 周期ハンドラの起動番地 */
+	RELTIM		cyctim;			/* 周期ハンドラの起動周期 */
+	RELTIM		cycphs;			/* 周期ハンドラの起動位相 */
 } CYCINIB;
 
 /*
- *  üúnhÇubN
+ *  周期ハンドラ管理ブロック
  */
 typedef struct cyclic_handler_control_block {
-	const CYCINIB *p_cycinib;	/* ú»ubNÖÌ|C^ */
-	bool_t		cycsta;			/* üúnhÌ®ìóÔ */
-	EVTTIM		evttim;			/* ÉüúnhðN®·é */
-	TMEVTB		tmevtb;			/* ^CCxgubN */
+	const CYCINIB *p_cycinib;	/* 初期化ブロックへのポインタ */
+	bool_t		cycsta;			/* 周期ハンドラの動作状態 */
+	EVTTIM		evttim;			/* 次に周期ハンドラを起動する時刻 */
+	TMEVTB		tmevtb;			/* タイムイベントブロック */
 } CYCCB;
 
 /*
- *  gpµÄ¢È¢üúnhÇubNÌXg
+ *  使用していない周期ハンドラ管理ブロックのリスト
  */
 extern QUEUE	free_cyccb;
 
 /*
- *  üúnhIDÌÅålikernel_cfg.cj
+ *  周期ハンドラIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_cycid;
@@ -88,5 +84,5 @@
 
 /*
- *  üúnhú»ubNÌGAikernel_cfg.cj
+ *  周期ハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const CYCINIB	cycinib_table[];
@@ -94,20 +90,20 @@
 
 /*
- *  üúnhÇubNÌGAikernel_cfg.cj
+ *  周期ハンドラ管理ブロックのエリア（kernel_cfg.c）
  */
 extern CYCCB	cyccb_table[];
 
 /*
- *  üúnhÇubN©çüúnhIDðæèo·½ßÌ}N
+ *  周期ハンドラ管理ブロックから周期ハンドラIDを取り出すためのマクロ
  */
 #define	CYCID(p_cyccb)	((ID)(((p_cyccb) - cyccb_table) + TMIN_CYCID))
 
 /*
- *  üúnh@\Ìú»
+ *  周期ハンドラ機能の初期化
  */
 extern void	initialize_cyclic(void);
 
 /*
- *  üúnhN®[`
+ *  周期ハンドラ起動ルーチン
  */
 extern void	call_cychdr(CYCCB *p_cyccb);
Index: UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_DTQ_ENTER
@@ -164,6 +159,5 @@
 
 /*
- *  f[^L
-[Ì
+ *  データキューの数
  */
 #define tnum_dtq	((uint_t)(tmax_dtqid - TMIN_DTQID + 1))
@@ -171,7 +165,5 @@
 
 /*
- *  f[^L
-[ID©çf[^L
-[ÇubNðæèo·½ßÌ}N
+ *  データキューIDからデータキュー管理ブロックを取り出すためのマクロ
  */
 #define INDEX_DTQ(dtqid)	((uint_t)((dtqid) - TMIN_DTQID))
@@ -181,12 +173,10 @@
 
 /*
- *  gpµÄ¢È¢f[^L
-[ÇubNÌXg
+ *  使用していないデータキュー管理ブロックのリスト
  */
 QUEUE	free_dtqcb;
 
 /*
- *  f[^L
-[@\Ìú»
+ *  データキュー機能の初期化
  */
 void
@@ -219,6 +209,5 @@
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ìi[
+ *  データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_dtqenq
@@ -238,6 +227,5 @@
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ì­§i[
+ *  データキュー管理領域へのデータの強制格納
  */
 #ifdef TOPPERS_dtqfenq
@@ -262,6 +250,5 @@
 
 /*
- *  f[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_dtqdeq
@@ -281,6 +268,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 #ifdef TOPPERS_dtqsnd
@@ -310,6 +296,5 @@
 
 /*
- *  f[^L
-[ÖÌf[^­§M
+ *  データキューへのデータ強制送信
  */
 #ifdef TOPPERS_dtqfsnd
@@ -334,6 +319,5 @@
 
 /*
- *  f[^L
-[©çÌf[^óM
+ *  データキューからのデータ受信
  */
 #ifdef TOPPERS_dtqrcv
@@ -372,6 +356,5 @@
 
 /*
- *  f[^L
-[Ì¶¬
+ *  データキューの生成
  */
 #ifdef TOPPERS_acre_dtq
@@ -432,6 +415,5 @@
 
 /*
- *  f[^L
-[Ìí
+ *  データキューの削除
  */
 #ifdef TOPPERS_del_dtq
@@ -483,6 +465,5 @@
 
 /*
- *  f[^L
-[ÖÌM
+ *  データキューへの送信
  */
 #ifdef TOPPERS_snd_dtq
@@ -528,6 +509,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[Oj
+ *  データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_dtq
@@ -568,6 +548,5 @@
 
 /*
- *  f[^L
-[ÖÌMi|[OCñ^XNReLXgpj
+ *  データキューへの送信（ポーリング，非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ipsnd_dtq
@@ -608,6 +587,5 @@
 
 /*
- *  f[^L
-[ÖÌMi^CAEg èj
+ *  データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_dtq
@@ -659,6 +637,5 @@
 
 /*
- *  f[^L
-[ÖÌ­§M
+ *  データキューへの強制送信
  */
 #ifdef TOPPERS_fsnd_dtq
@@ -696,6 +673,5 @@
 
 /*
- *  f[^L
-[ÖÌ­§Miñ^XNReLXgpj
+ *  データキューへの強制送信（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ifsnd_dtq
@@ -733,6 +709,5 @@
 
 /*
- *  f[^L
-[©çÌóM
+ *  データキューからの受信
  */
 #ifdef TOPPERS_rcv_dtq
@@ -783,6 +758,5 @@
 
 /*
- *  f[^L
-[©çÌóMi|[Oj
+ *  データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_dtq
@@ -823,6 +797,5 @@
 
 /*
- *  f[^L
-[©çÌóMi^CAEg èj
+ *  データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_dtq
@@ -878,6 +851,5 @@
 
 /*
- *  f[^L
-[ÌÄú»
+ *  データキューの再初期化
  */
 #ifdef TOPPERS_ini_dtq
@@ -922,6 +894,5 @@
 
 /*
- *  f[^L
-[ÌóÔQÆ
+ *  データキューの状態参照
  */
 #ifdef TOPPERS_ref_dtq
Index: UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/dataqueue.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		f[^L
-[@\
+ *		データキュー機能
  */
 
@@ -56,77 +51,61 @@
 
 /*
- *  f[^ÇubN
+ *  データ管理ブロック
  */
 typedef struct data_management_block {
-	intptr_t	data;			/* f[^{Ì */
+	intptr_t	data;			/* データ本体 */
 } DTQMB;
 
 /*
- *  f[^L
-[ú»ubN
+ *  データキュー初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct dataqueue_initialization_block {
-	ATR			dtqatr;			/* f[^L
-[®« */
-	uint_t		dtqcnt;			/* f[^L
-[ÌeÊ */
-	DTQMB		*p_dtqmb;		/* f[^L
-[ÇÌæÌæªÔn */
+	ATR			dtqatr;			/* データキュー属性 */
+	uint_t		dtqcnt;			/* データキューの容量 */
+	DTQMB		*p_dtqmb;		/* データキュー管理領域の先頭番地 */
 } DTQINIB;
 
 /*
- *  f[^L
-[ÇubN
+ *  データキュー管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct dataqueue_control_block {
-	QUEUE		swait_queue;	/* f[^L
-[MÒ¿L
-[ */
-	const DTQINIB *p_dtqinib;	/* ú»ubNÖÌ|C^ */
-	QUEUE		rwait_queue;	/* f[^L
-[óMÒ¿L
-[ */
-	uint_t		count;			/* f[^L
-[Ìf[^Ì */
-	uint_t		head;			/* ÅÌf[^Ìi[ê */
-	uint_t		tail;			/* ÅãÌf[^Ìi[êÌ */
+	QUEUE		swait_queue;	/* データキュー送信待ちキュー */
+	const DTQINIB *p_dtqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* データキュー受信待ちキュー */
+	uint_t		count;			/* データキュー中のデータの数 */
+	uint_t		head;			/* 最初のデータの格納場所 */
+	uint_t		tail;			/* 最後のデータの格納場所の次 */
 } DTQCB;
 
 /*
- *  f[^L
-[Ò¿îñubNÌè`
+ *  データキュー待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
- *  f[^L
-[ÖÌMÒ¿Æf[^L
-[©çÌóMÒ¿ÅC¯¶Ò¿î
- *  ñubNðg¤D
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
+ *  データキューへの送信待ちとデータキューからの受信待ちで，同じ待ち情
+ *  報ブロックを使う．
  */
 typedef struct dataqueue_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	DTQCB		*p_dtqcb;		/* ÒÁÄ¢éf[^L
-[ÌÇubN */
-	intptr_t	data;			/* óMf[^ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	DTQCB		*p_dtqcb;		/* 待っているデータキューの管理ブロック */
+	intptr_t	data;			/* 送受信データ */
 } WINFO_DTQ;
 
 /*
- *  gpµÄ¢È¢f[^L
-[ÇubNÌXg
+ *  使用していないデータキュー管理ブロックのリスト
  */
 extern QUEUE	free_dtqcb;
 
 /*
- *  f[^L
-[IDÌÅålikernel_cfg.cj
+ *  データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_dtqid;
@@ -134,6 +113,5 @@
 
 /*
- *  f[^L
-[ú»ubNÌGAikernel_cfg.cj
+ *  データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const DTQINIB	dtqinib_table[];
@@ -141,55 +119,45 @@
 
 /*
- *  f[^L
-[ÇubNÌGAikernel_cfg.cj
+ *  データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern DTQCB	dtqcb_table[];
 
 /*
- *  f[^L
-[ÇubN©çf[^L
-[IDðæèo·½ßÌ}N
+ *  データキュー管理ブロックからデータキューIDを取り出すためのマクロ
  */
 #define	DTQID(p_dtqcb)	((ID)(((p_dtqcb) - dtqcb_table) + TMIN_DTQID))
 
 /*
- *  f[^L
-[@\Ìú»
+ *  データキュー機能の初期化
  */
 extern void	initialize_dataqueue(void);
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ìi[
+ *  データキュー管理領域へのデータの格納
  */
 extern void	enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[ÇÌæÖÌf[^Ì­§i[
+ *  データキュー管理領域へのデータの強制格納
  */
 extern void	force_enqueue_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_data(DTQCB *p_dtqcb, intptr_t *p_data);
 
 /*
- *  f[^L
-[ÖÌf[^M
+ *  データキューへのデータ送信
  */
 extern bool_t	send_data(DTQCB *p_dtqcb, intptr_t data, bool_t *p_dspreq);
 
 /*
- *  f[^L
-[ÖÌf[^­§M
+ *  データキューへのデータ強制送信
  */
 extern bool_t	force_send_data(DTQCB *p_dtqcb, intptr_t data);
 
 /*
- *  f[^L
-[©çÌf[^óM
+ *  データキューからのデータ受信
  */
 extern bool_t	receive_data(DTQCB *p_dtqcb, intptr_t *p_data,
Index: UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/eventflag.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		CxgtO@\
+ *		イベントフラグ機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_FLG_ENTER
@@ -139,5 +135,5 @@
 
 /*
- *  CxgtOÌ
+ *  イベントフラグの数
  */
 #define tnum_flg	((uint_t)(tmax_flgid - TMIN_FLGID + 1))
@@ -145,5 +141,5 @@
 
 /*
- *  CxgtOID©çCxgtOÇubNðæèo·½ßÌ}N
+ *  イベントフラグIDからイベントフラグ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_FLG(flgid)	((uint_t)((flgid) - TMIN_FLGID))
@@ -153,10 +149,10 @@
 
 /*
- *  gpµÄ¢È¢CxgtOÇubNÌXg
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 QUEUE	free_flgcb;
 
 /*
- *  CxgtO@\Ìú»
+ *  イベントフラグ機能の初期化
  */
 void
@@ -186,5 +182,5 @@
 
 /*
- *  CxgtOÒ¿ððÌ`FbN
+ *  イベントフラグ待ち解除条件のチェック
  */
 #ifdef TOPPERS_flgcnd
@@ -207,5 +203,5 @@
 
 /*
- *  CxgtOÌ¶¬
+ *  イベントフラグの生成
  */
 #ifdef TOPPERS_acre_flg
@@ -246,5 +242,5 @@
 
 /*
- *  CxgtOÌí
+ *  イベントフラグの削除
  */
 #ifdef TOPPERS_del_flg
@@ -290,5 +286,5 @@
 
 /*
- *  CxgtOÌZbg
+ *  イベントフラグのセット
  */
 #ifdef TOPPERS_set_flg
@@ -346,5 +342,5 @@
 
 /*
- *  CxgtOÌZbgiñ^XNReLXgpj
+ *  イベントフラグのセット（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iset_flg
@@ -398,5 +394,5 @@
 
 /*
- *  CxgtOÌNA
+ *  イベントフラグのクリア
  */
 #ifdef TOPPERS_clr_flg
@@ -431,5 +427,5 @@
 
 /*
- *  CxgtOÒ¿
+ *  イベントフラグ待ち
  */
 #ifdef TOPPERS_wai_flg
@@ -481,5 +477,5 @@
 
 /*
- *  CxgtOÒ¿i|[Oj
+ *  イベントフラグ待ち（ポーリング）
  */
 #ifdef TOPPERS_pol_flg
@@ -522,5 +518,5 @@
 
 /*
- *  CxgtOÒ¿i^CAEg èj
+ *  イベントフラグ待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_flg
@@ -578,5 +574,5 @@
 
 /*
- *  CxgtOÌÄú»
+ *  イベントフラグの再初期化
  */
 #ifdef TOPPERS_ini_flg
@@ -616,5 +612,5 @@
 
 /*
- *  CxgtOÌóÔQÆ
+ *  イベントフラグの状態参照
  */
 #ifdef TOPPERS_ref_flg
Index: UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/eventflag.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		CxgtO@\
+ *		イベントフラグ機能
  */
 
@@ -55,54 +51,53 @@
 
 /*
- *  CxgtOú»ubN
+ *  イベントフラグ初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct eventflag_initialization_block {
-	ATR			flgatr;			/* CxgtO®« */
-	FLGPTN		iflgptn;		/* CxgtOÌrbgp^[Ìúl */
+	ATR			flgatr;			/* イベントフラグ属性 */
+	FLGPTN		iflgptn;		/* イベントフラグのビットパターンの初期値 */
 } FLGINIB;
 
 /*
- *  CxgtOÇubN
+ *  イベントフラグ管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct eventflag_control_block {
-	QUEUE		wait_queue;		/* CxgtOÒ¿L
-[ */
-	const FLGINIB *p_flginib;	/* ú»ubNÖÌ|C^ */
-	FLGPTN		flgptn;			/* CxgtO»Ýp^[ */
+	QUEUE		wait_queue;		/* イベントフラグ待ちキュー */
+	const FLGINIB *p_flginib;	/* 初期化ブロックへのポインタ */
+	FLGPTN		flgptn;			/* イベントフラグ現在パターン */
 } FLGCB;
 
 /*
- *  CxgtOÒ¿îñubNÌè`
+ *  イベントフラグ待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  *
- *  flgptnÍCwaiptn¨æÑwfmodeÆ¯Ég¤±ÆÍÈ¢½ßC¤pÌðg
- *  ¦Îðßñ·é±ÆªÂ\Å éD
+ *  flgptnは，waiptnおよびwfmodeと同時に使うことはないため，共用体を使
+ *  えばメモリを節約することが可能である．
  */
 typedef struct eventflag_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	FLGCB		*p_flgcb;		/* ÒÁÄ¢éCxgtOÌÇubN */
-	FLGPTN		waiptn;			/* Ò¿p^[ */
-	MODE		wfmode;			/* Ò¿[h */
-	FLGPTN		flgptn;			/* Ò¿ðÌp^[ */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	FLGCB		*p_flgcb;		/* 待っているイベントフラグの管理ブロック */
+	FLGPTN		waiptn;			/* 待ちパターン */
+	MODE		wfmode;			/* 待ちモード */
+	FLGPTN		flgptn;			/* 待ち解除時のパターン */
 } WINFO_FLG;
 
 /*
- *  gpµÄ¢È¢CxgtOÇubNÌXg
+ *  使用していないイベントフラグ管理ブロックのリスト
  */
 extern QUEUE	free_flgcb;
 
 /*
- *  CxgtOIDÌÅålikernel_cfg.cj
+ *  イベントフラグIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_flgid;
@@ -110,5 +105,5 @@
 
 /*
- *  CxgtOú»ubNÌGAikernel_cfg.cj
+ *  イベントフラグ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const FLGINIB	flginib_table[];
@@ -116,20 +111,20 @@
 
 /*
- *  CxgtOÇubNÌGAikernel_cfg.cj
+ *  イベントフラグ管理ブロックのエリア（kernel_cfg.c）
  */
 extern FLGCB	flgcb_table[];
 
 /*
- *  CxgtOÇubN©çCxgtOIDðæèo·½ßÌ}N
+ *  イベントフラグ管理ブロックからイベントフラグIDを取り出すためのマクロ
  */
 #define	FLGID(p_flgcb)	((ID)(((p_flgcb) - flgcb_table) + TMIN_FLGID))
 
 /*
- *  CxgtO@\Ìú»
+ *  イベントフラグ機能の初期化
  */
 extern void	initialize_eventflag(void);
 
 /*
- *  CxgtOÒ¿ððÌ`FbN
+ *  イベントフラグ待ち解除条件のチェック
  */
 extern bool_t	check_flg_cond(FLGCB *p_flgcb, FLGPTN waiptn,
Index: UsbWattMeter/trunk/asp_dcre/kernel/exception.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/exception.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/exception.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_XSNS_DPN_ENTER
@@ -73,5 +69,5 @@
 
 /* 
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 #ifdef TOPPERS_excini
@@ -93,12 +89,12 @@
 
 /*
- *  CPUáOÌ­¶µ½ReLXgÌQÆ
+ *  CPU例外の発生したコンテキストの参照
  */
 
 /*
- *  CPUáO­¶ÌfBXpb`Û¯óÔÌQÆ
+ *  CPU例外発生時のディスパッチ保留状態の参照
  *
- *  CPUáOnhÅdisdspªÏ»·é±ÆÍÈ¢½ßCCPUáOª­¶µ
- *  ½ÌdisdspðÛ¶µÄ¨­KvÍÈ¢D
+ *  CPU例外ハンドラ中でdisdspが変化することはないため，CPU例外が発生し
+ *  た時のdisdspを保存しておく必要はない．
  */
 #ifdef TOPPERS_xsns_dpn
@@ -118,9 +114,9 @@
 
 /*
- *  CPUáO­¶Ì^XNáOÛ¯óÔÌQÆ
+ *  CPU例外発生時のタスク例外処理保留状態の参照
  *
- *  CPUáOnhÅp_runtskÆp_runtsk->enatexªÏ»·é±ÆÍÈ¢
- *  ½ßCCPUáOª­¶µ½Ìp_runtsk->enatexðÛ¶µÄ¨­KvÍÈ
- *  ¢D
+ *  CPU例外ハンドラ中でp_runtskとp_runtsk->enatexが変化することはない
+ *  ため，CPU例外が発生した時のp_runtsk->enatexを保存しておく必要はな
+ *  い．
  */
 #ifdef TOPPERS_xsns_xpn
Index: UsbWattMeter/trunk/asp_dcre/kernel/exception.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/exception.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/exception.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		CPUáOÇ@\
+ *		CPU例外管理機能
  */
 
@@ -55,19 +51,19 @@
 
 /*
- *  CPUáOnhú»ubN
+ *  CPU例外ハンドラ初期化ブロック
  */
 typedef struct cpu_exception_handler_initialization_block {
-	EXCNO		excno;			/* CPUáOnhÔ */
-	ATR			excatr;			/* CPUáOnh®« */
-	FP			exc_entry;		/* CPUáOnhÌoüûÌÔn */
+	EXCNO		excno;			/* CPU例外ハンドラ番号 */
+	ATR			excatr;			/* CPU例外ハンドラ属性 */
+	FP			exc_entry;		/* CPU例外ハンドラの出入口処理の番地 */
 } EXCINIB;
 
 /*
- *  CPUáOnhÔÌikernel_cfg.cj
+ *  CPU例外ハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_excno;
 
 /*
- *  CPUáOnhú»ubNÌGAikernel_cfg.cj
+ *  CPU例外ハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const EXCINIB	excinib_table[];
@@ -76,5 +72,5 @@
 
 /*
- *  CPUáOnhÇ@\Ìú»
+ *  CPU例外ハンドラ管理機能の初期化
  */
 extern void	initialize_exception(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/genoffset.tf	(revision 167)
@@ -8,36 +8,32 @@
 $               Graduate School of Information Science, Nagoya Univ., JAPAN
 $  
-$   ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-$   Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-$   ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$   (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-$        \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-$       XR[hÉÜÜêÄ¢é±ÆD
-$   (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-$       Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-$       Ì³ÛØKèðfÚ·é±ÆD
-$   (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-$       ÆD
-$     (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-$         ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$     (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-$         ñ·é±ÆD
-$   (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-$       Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-$       Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-$       RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-$       ÆÓ·é±ÆD
+$   上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+$   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+$   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+$       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+$       スコード中に含まれていること．
+$   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+$       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+$       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+$       の無保証規定を掲載すること．
+$   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+$       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+$       と．
+$     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+$         作権表示，この利用条件および下記の無保証規定を掲載すること．
+$     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+$         報告すること．
+$   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+$       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+$       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+$       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+$       免責すること．
 $  
-$   {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-$   æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-$   ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-$   AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-$   ÌÓCðíÈ¢D
+$   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+$   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+$   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$   の責任を負わない．
 $ 
 $   $Id$
@@ -46,5 +42,5 @@
 
 $ 
-$  #definefBNeBuÌ¶¬
+$  #defineディレクティブの生成
 $ 
 $FUNCTION DEFINE$
@@ -53,5 +49,5 @@
 
 $ 
-$  rbgÌT[`
+$  ビットのサーチ
 $ 
 $FUNCTION SEARCH_BIT$
@@ -66,5 +62,5 @@
 
 $ 
-$  rbgtB[hÌItZbgÆrbgÊuÌè`Ì¶¬
+$  ビットフィールドのオフセットとビット位置の定義の生成
 $ 
 $FUNCTION DEFINE_BIT$
@@ -115,5 +111,5 @@
 
 $ 
-$  oCgzuÌ`FbN
+$  バイト配置のチェック
 $ 
 $FUNCTION MAGIC_CHECK$
@@ -144,5 +140,5 @@
 
 $ 
-$  t@Cwb_Ì¶¬
+$  ファイルヘッダの生成
 $ 
 $FILE "offset.h"$
Index: UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/interrupt.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ISR_ENTER
@@ -114,11 +110,11 @@
 
 /*
- *  ÝT[rX[`Ì
+ *  割込みサービスルーチンの数
  */
 #define tnum_isr	((uint_t)(tmax_isrid - TMIN_SEMID + 1) + tnum_sisr)
 
 /*
- *  ÝT[rX[`ID©çÝT[rX[`ÇubNðæ
- *  èo·½ßÌ}N
+ *  割込みサービスルーチンIDから割込みサービスルーチン管理ブロックを取
+ *  り出すためのマクロ
  */
 #define INDEX_ISR(isrid)	((uint_t)((isrid) - TMIN_ISRID) + tnum_sisr)
@@ -126,6 +122,5 @@
 
 /*
- *  ÝT[rX[`L
-[ÖÌo^
+ *  割込みサービスルーチンキューへの登録
  */
 Inline void
@@ -147,10 +142,10 @@
 
 /*
- *  gpµÄ¢È¢ÝT[rX[`ÇubNÌXg
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 QUEUE	free_isrcb;
 
 /* 
- *  ÝT[rX[`@\Ìú»
+ *  割込みサービスルーチン機能の初期化
  */
 void
@@ -182,5 +177,5 @@
 
 /*
- *  ÝT[rX[`ÌÄoµ
+ *  割込みサービスルーチンの呼出し
  */
 #ifdef TOPPERS_isrcal
@@ -202,5 +197,5 @@
 
 		if (p_queue->p_next != p_isr_queue) {
-			/* ISRÌÄoµOÌóÔÉß· */
+			/* ISRの呼出し前の状態に戻す */
 			if (i_sense_lock()) {
 				i_unlock_cpu();
@@ -214,6 +209,5 @@
 
 /*
- *  ÝT[rX[`ÄoµL
-[Ìõ
+ *  割込みサービスルーチン呼出しキューの検索
  */
 Inline QUEUE *
@@ -246,5 +240,5 @@
 
 /*
- *  ÝT[rX[`Ì¶¬
+ *  割込みサービスルーチンの生成
  */
 #ifdef TOPPERS_acre_isr
@@ -295,5 +289,5 @@
 
 /*
- *  ÝT[rX[`Ìí
+ *  割込みサービスルーチンの削除
  */
 #ifdef TOPPERS_del_isr
@@ -332,5 +326,5 @@
 
 /* 
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 #ifdef TOPPERS_intini
@@ -358,5 +352,5 @@
 
 /*
- *  ÝÌÖ~
+ *  割込みの禁止
  */
 #ifdef TOPPERS_dis_int
@@ -396,5 +390,5 @@
 
 /*
- *  ÝÌÂ
+ *  割込みの許可
  */
 #ifdef TOPPERS_ena_int
@@ -434,5 +428,5 @@
 
 /*
- *  ÝDæx}XNÌÏX
+ *  割込み優先度マスクの変更
  */
 #ifdef TOPPERS_chg_ipm
@@ -476,5 +470,5 @@
 
 /*
- *  ÝDæx}XNÌQÆ
+ *  割込み優先度マスクの参照
  */
 #ifdef TOPPERS_get_ipm
Index: UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		ÝÇ@\
+ *		割込み管理機能
  */
 
@@ -53,65 +49,58 @@
 
 /*
- *  ÝT[rX[`ú»ubN
+ *  割込みサービスルーチン初期化ブロック
  */
 typedef struct isr_initialization_block {
-	ATR			isratr;			/* ÝT[rX[`®« */
-	intptr_t	exinf;			/* ÝT[rX[`Ìg£îñ */
-	INTNO		intno;			/* ÝT[rX[`ðo^·éÝÔ */
-	QUEUE		*p_isr_queue;	/* o^æÝT[rX[`L
-[ÌÔn */
-	ISR			isr;			/* ÝT[rX[`ÌæªÔn */
-	PRI			isrpri;			/* ÝT[rX[`Dæx */
+	ATR			isratr;			/* 割込みサービスルーチン属性 */
+	intptr_t	exinf;			/* 割込みサービスルーチンの拡張情報 */
+	INTNO		intno;			/* 割込みサービスルーチンを登録する割込み番号 */
+	QUEUE		*p_isr_queue;	/* 登録先割込みサービスルーチンキューの番地 */
+	ISR			isr;			/* 割込みサービスルーチンの先頭番地 */
+	PRI			isrpri;			/* 割込みサービスルーチン優先度 */
 } ISRINIB;
 
 /*
- *  ÝT[rX[`ÇubN
+ *  割込みサービスルーチン管理ブロック
  */
 typedef struct isr_control_block {
-	QUEUE		isr_queue;		/* ÝT[rX[`ÄoµL
-[ */
-	const ISRINIB *p_isrinib;	/* ú»ubNÖÌ|C^ */
+	QUEUE		isr_queue;		/* 割込みサービスルーチン呼出しキュー */
+	const ISRINIB *p_isrinib;	/* 初期化ブロックへのポインタ */
 } ISRCB;
 
 /*
- *  ÝT[rX[`ÄoµL
-[ðõ·é½ßÌf[^\¢
+ *  割込みサービスルーチン呼出しキューを検索するためのデータ構造
  */
 typedef struct {
-	INTNO		intno;			/* ÝÔ */
-	QUEUE		*p_isr_queue;	/* ÝT[rX[`ÄoµL
-[ */
+	INTNO		intno;			/* 割込み番号 */
+	QUEUE		*p_isr_queue;	/* 割込みサービスルーチン呼出しキュー */
 } ISR_ENTRY;
 
 /*
- *  ÝT[rX[`L
-[ÌGgikernel_cfg.cj
+ *  割込みサービスルーチンキューのエントリ数（kernel_cfg.c）
  */
 extern const uint_t tnum_isr_queue;
 
 /*
- *  ÝT[rX[`L
-[Xgikernel_cfg.cj
+ *  割込みサービスルーチンキューリスト（kernel_cfg.c）
  */
 extern const ISR_ENTRY isr_queue_list[];
 
 /*
- *  ÝT[rX[`L
-[ÌGAikernel_cfg.cj
+ *  割込みサービスルーチンキューのエリア（kernel_cfg.c）
  */
 extern QUEUE isr_queue_table[];
 
 /*
- *  gpµÄ¢È¢ÝT[rX[`ÇubNÌXg
+ *  使用していない割込みサービスルーチン管理ブロックのリスト
  */
 extern QUEUE	free_isrcb;
 
 /*
- *  ÝT[rX[`IDÌÅålikernel_cfg.cj
+ *  割込みサービスルーチンIDの最大値（kernel_cfg.c）
  *
- *  ÃIÉ¶¬³êéÝT[rX[`ÍIDÔð½È¢½ßC
- *  tmax_isridÍ®IÉ¶¬³êéÝT[rX[`ÌIDÔÌÅål
- *  Å éDÃIÉ¶¬³êéÝT[rX[`ÌÍCtnum_sisrÉÛ
- *  ·éD
+ *  静的に生成される割込みサービスルーチンはID番号を持たないため，
+ *  tmax_isridは動的に生成される割込みサービスルーチンのID番号の最大値
+ *  である．静的に生成される割込みサービスルーチンの数は，tnum_sisrに保
+ *  持する．
  */
 extern const ID		tmax_isrid;
@@ -119,5 +108,5 @@
 
 /*
- *  ÝT[rX[`ú»ubNÌGAikernel_cfg.cj
+ *  割込みサービスルーチン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const ISRINIB	sisrinib_table[];
@@ -125,11 +114,11 @@
 
 /*
- *  ÝT[rX[`ÇubNÌGAikernel_cfg.cj
+ *  割込みサービスルーチン管理ブロックのエリア（kernel_cfg.c）
  */
 extern ISRCB	isrcb_table[];
 
 /*
- *  ÝT[rX[`ÇubN©çÝT[rX[`IDðæ
- *  èo·½ßÌ}N
+ *  割込みサービスルーチン管理ブロックから割込みサービスルーチンIDを取
+ *  り出すためのマクロ
  */
 #define	ISRID(p_isrcb)	((ID)(((p_isrcb) - isrcb_table) \
@@ -137,10 +126,10 @@
 
 /*
- *  ÝT[rX[`@\Ìú»
+ *  割込みサービスルーチン機能の初期化
  */
 extern void initialize_isr(void);
 
 /*
- *  ÝT[rX[`ÌÄoµ
+ *  割込みサービスルーチンの呼出し
  */
 extern void call_isr(QUEUE *p_isr_queue);
@@ -149,38 +138,38 @@
 
 /*
- *  Ýnhú»ubN
+ *  割込みハンドラ初期化ブロック
  */
 typedef struct interrupt_handler_initialization_block {
-	INHNO		inhno;			/* ÝnhÔ */
-	ATR			inhatr;			/* Ýnh®« */
-	FP			int_entry;		/* ÝnhÌoüûÌÔn */
+	INHNO		inhno;			/* 割込みハンドラ番号 */
+	ATR			inhatr;			/* 割込みハンドラ属性 */
+	FP			int_entry;		/* 割込みハンドラの出入口処理の番地 */
 } INHINIB;
 
 /*
- *  ÝvCú»ubN
+ *  割込み要求ライン初期化ブロック
  */
 typedef struct interrupt_request_initialization_block {
-	INTNO		intno;			/* ÝÔ */
-	ATR			intatr;			/* Ý®« */
-	PRI			intpri;			/* ÝDæx */
+	INTNO		intno;			/* 割込み番号 */
+	ATR			intatr;			/* 割込み属性 */
+	PRI			intpri;			/* 割込み優先度 */
 } INTINIB;
 
 /*
- *  ÝnhÔÌikernel_cfg.cj
+ *  割込みハンドラ番号の数（kernel_cfg.c）
  */
 extern const uint_t	tnum_inhno;
 
 /*
- *  Ýnhú»ubNÌGAikernel_cfg.cj
+ *  割込みハンドラ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INHINIB	inhinib_table[];
 
 /*
- *  ÝvCÌikernel_cfg.cj
+ *  割込み要求ラインの数（kernel_cfg.c）
  */
 extern const uint_t	tnum_intno;
 
 /*
- *  ÝvCú»ubNÌGAikernel_cfg.cj
+ *  割込み要求ライン初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const INTINIB	intinib_table[];
@@ -189,5 +178,5 @@
 
 /*
- *  ÝÇ@\Ìú»
+ *  割込み管理機能の初期化
  */
 extern void	initialize_interrupt(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel.tf	(revision 167)
@@ -9,36 +9,32 @@
 $               Graduate School of Information Science, Nagoya Univ., JAPAN
 $  
-$   ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-$   Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-$   ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$   (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-$        \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-$       XR[hÉÜÜêÄ¢é±ÆD
-$   (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-$       Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-$       Ì³ÛØKèðfÚ·é±ÆD
-$   (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-$       ÆD
-$     (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-$         ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$     (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-$         ñ·é±ÆD
-$   (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-$       Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-$       Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-$       RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-$       ÆÓ·é±ÆD
+$   上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+$   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+$   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+$       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+$       スコード中に含まれていること．
+$   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+$       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+$       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+$       の無保証規定を掲載すること．
+$   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+$       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+$       と．
+$     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+$         作権表示，この利用条件および下記の無保証規定を掲載すること．
+$     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+$         報告すること．
+$   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+$       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+$       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+$       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+$       免責すること．
 $  
-$   {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-$   æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-$   ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-$   AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-$   ÌÓCðíÈ¢D
+$   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+$   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+$   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$   の責任を負わない．
 $ 
 $   $Id$
@@ -47,10 +43,10 @@
 
 $ =====================================================================
-$ AID_YYYÌ
+$ AID_YYYの処理
 $ =====================================================================
 
 $num_atskid = 0$
 $FOREACH i ATSK.ORDER_LIST$
-$	// notskªÌêiE_PARj
+$	// notskが負の場合（E_PAR）
 	$IF ATSK.NOTSK[i] < 0$
 		$ERROR ATSK.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "notsk", ATSK.NOTSK[i], "AID_TSK")$$END$
@@ -62,5 +58,5 @@
 $num_asemid = 0$
 $FOREACH i ASEM.ORDER_LIST$
-$	// nosemªÌêiE_PARj
+$	// nosemが負の場合（E_PAR）
 	$IF ASEM.NOSEM[i] < 0$
 		$ERROR ASEM.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nosem", ASEM.NOSEM[i], "AID_SEM")$$END$
@@ -72,5 +68,5 @@
 $num_aflgid = 0$
 $FOREACH i AFLG.ORDER_LIST$
-$	// noflgªÌêiE_PARj
+$	// noflgが負の場合（E_PAR）
 	$IF AFLG.NOFLG[i] < 0$
 		$ERROR AFLG.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noflg", AFLG.NOFLG[i], "AID_FLG")$$END$
@@ -82,5 +78,5 @@
 $num_adtqid = 0$
 $FOREACH i ADTQ.ORDER_LIST$
-$	// nodtqªÌêiE_PARj
+$	// nodtqが負の場合（E_PAR）
 	$IF ADTQ.NODTQ[i] < 0$
 		$ERROR ADTQ.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nodtq", ADTQ.NODTQ[i], "AID_DTQ")$$END$
@@ -92,5 +88,5 @@
 $num_apdqid = 0$
 $FOREACH i APDQ.ORDER_LIST$
-$	// nopdqªÌêiE_PARj
+$	// nopdqが負の場合（E_PAR）
 	$IF APDQ.NOPDQ[i] < 0$
 		$ERROR APDQ.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nopdq", APDQ.NOPDQ[i], "AID_PDQ")$$END$
@@ -102,5 +98,5 @@
 $num_ambxid = 0$
 $FOREACH i AMBX.ORDER_LIST$
-$	// nombxªÌêiE_PARj
+$	// nombxが負の場合（E_PAR）
 	$IF AMBX.NOMBX[i] < 0$
 		$ERROR AMBX.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nombx", AMBX.NOMBX[i], "AID_MBX")$$END$
@@ -112,5 +108,5 @@
 $num_ampfid = 0$
 $FOREACH i AMPF.ORDER_LIST$
-$	// nompfªÌêiE_PARj
+$	// nompfが負の場合（E_PAR）
 	$IF AMPF.NOMPF[i] < 0$
 		$ERROR AMPF.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nompf", AMPF.NOMPF[i], "AID_MPF")$$END$
@@ -122,5 +118,5 @@
 $num_acycid = 0$
 $FOREACH i ACYC.ORDER_LIST$
-$	// nocycªÌêiE_PARj
+$	// nocycが負の場合（E_PAR）
 	$IF ACYC.NOCYC[i] < 0$
 		$ERROR ACYC.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "nocyc", ACYC.NOCYC[i], "AID_CYC")$$END$
@@ -132,5 +128,5 @@
 $num_aalmid = 0$
 $FOREACH i AALM.ORDER_LIST$
-$	// noalmªÌêiE_PARj
+$	// noalmが負の場合（E_PAR）
 	$IF AALM.NOALM[i] < 0$
 		$ERROR AALM.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noalm", AALM.NOALM[i], "AID_ALM")$$END$
@@ -142,5 +138,5 @@
 $num_aisrid = 0$
 $FOREACH i AISR.ORDER_LIST$
-$	// noisrªÌêiE_PARj
+$	// noisrが負の場合（E_PAR）
 	$IF AISR.NOISR[i] < 0$
 		$ERROR AISR.TEXT_LINE[i]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "noisr", AISR.NOISR[i], "AID_ISR")$$END$
@@ -152,5 +148,5 @@
 
 $ =====================================================================
-$ kernel_cfg.hÌ¶¬
+$ kernel_cfg.hの生成
 $ =====================================================================
 
@@ -202,5 +198,5 @@
 
 $ =====================================================================
-$ kernel_cfg.cÌ¶¬
+$ kernel_cfg.cの生成
 $ =====================================================================
 
@@ -216,5 +212,5 @@
 
 $ 
-$  CN[hfBNeBui#includej
+$  インクルードディレクティブ（#include）
 $ 
 /*$NL$
@@ -226,5 +222,5 @@
 
 $ 
-$  IuWFNgÌIDÔðÛ·éÏ
+$  オブジェクトのID番号を保持する変数
 $ 
 $IF USE_EXTERNAL_ID$
@@ -263,5 +259,5 @@
 
 $ 
-$  ^XN
+$  タスク
 $ 
 /*$NL$
@@ -270,31 +266,31 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½^XNª1ÂÈã¶Ý·é±ÆÌ`FbN
+$ 静的に生成されたタスクが1個以上存在することのチェック
 $IF !LENGTH(TSK.ID_LIST)$
 	$ERROR$$FORMAT(_("no task is registered"))$$END$
 $END$
 
-$ ÃIÉ¶¬³ê½^XNÌ
+$ 静的に生成されたタスクの数
 #define TNUM_STSKID	$LENGTH(TSK.ID_LIST)$$NL$
 $NL$
 
-$ ^XNIDÔÌÅål
+$ タスクID番号の最大値
 const ID _kernel_tmax_tskid = (TMIN_TSKID + TNUM_TSKID - 1);$NL$
 const ID _kernel_tmax_stskid = (TMIN_TSKID + TNUM_STSKID - 1);$NL$
 $NL$
 
-$ G[`FbN
+$ エラーチェック
 $FOREACH tskid TSK.ID_LIST$
-$	// tskatrªimTA_ACTnjÅÈ¢êiE_RSATRj
+$	// tskatrが（［TA_ACT］）でない場合（E_RSATR）
 	$IF (TSK.TSKATR[tskid] & ~(TA_ACT|TARGET_TSKATR)) != 0$
 		$ERROR TSK.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "tskatr", TSK.TSKATR[tskid], tskid, "CRE_TSK")$$END$
 	$END$
 
-$	// (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)ÅÈ¢êiE_PARj
+$	// (TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)でない場合（E_PAR）
 	$IF !(TMIN_TPRI <= TSK.ITSKPRI[tskid] && TSK.ITSKPRI[tskid] <= TMAX_TPRI)$
 		$ERROR TSK.TEXT_LINE[tskid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "itskpri", TSK.ITSKPRI[tskid], tskid, "CRE_TSK")$$END$
 	$END$
 
-$ 	// texatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// texatrが（TA_NULL）でない場合（E_RSATR）
 	$IF LENGTH(TSK.TEXATR[tskid]) && TSK.TEXATR[tskid] != 0$
 		$ERROR DEF_TEX.TEXT_LINE[tskid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "texatr", TSK.TEXATR[tskid], tskid, "DEF_TEX")$$END$
@@ -302,8 +298,8 @@
 $END$
 
-$ X^bNÌæÌ¶¬Æ»êÉÖ·éG[`FbN
+$ スタック領域の生成とそれに関するエラーチェック
 $FOREACH tskid TSK.ID_LIST$
-$	// stkszª0Èº©C^[Qbgè`ÌÅ¬liTARGET_MIN_STKSZjæèà
-$	// ¬³¢êiE_PARj
+$	// stkszが0以下か，ターゲット定義の最小値（TARGET_MIN_STKSZ）よりも
+$	// 小さい場合（E_PAR）
 	$IF TSK.STKSZ[tskid] <= 0 || (TARGET_MIN_STKSZ
 									&& TSK.STKSZ[tskid] < TARGET_MIN_STKSZ)$
@@ -311,5 +307,5 @@
 	$END$
 
-$ 	// stkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// stkszがスタック領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(TSK.STK[tskid], "NULL") && CHECK_STKSZ_ALIGN
 							&& (TSK.STKSZ[tskid] & (CHECK_STKSZ_ALIGN - 1))$
@@ -328,13 +324,13 @@
 $NL$
 
-$ ^XNú»ubNÌ¶¬i^XNÍ1ÂÈã¶Ý·éj
+$ タスク初期化ブロックの生成（タスクは1個以上存在する）
 const TINIB _kernel_tinib_table[TNUM_STSKID] = {$NL$
 $JOINEACH tskid TSK.ID_LIST ",\n"$
-$	// ^XN®«Cg£îñCN®ÔnCN®Dæx
+$	// タスク属性，拡張情報，起動番地，起動時優先度
 	$TAB${
 	$SPC$($TSK.TSKATR[tskid]$), (intptr_t)($TSK.EXINF[tskid]$),
 	$SPC$((TASK)($TSK.TASK[tskid]$)), INT_PRIORITY($TSK.ITSKPRI[tskid]$),
 
-$	// ^XNú»ReLXgubNCX^bNÌæ
+$	// タスク初期化コンテキストブロック，スタック領域
 	$IF USE_TSKINICTXB$
 		$GENERATE_TSKINICTXB(tskid)$
@@ -343,5 +339,5 @@
 	$END$
 
-$	// ^XNáO[`Ì®«ÆN®Ôn
+$	// タスク例外処理ルーチンの属性と起動番地
 	$SPC$($ALT(TSK.TEXATR[tskid],"TA_NULL")$), ($ALT(TSK.TEXRTN[tskid],"NULL")$) }
 $END$$NL$
@@ -349,5 +345,5 @@
 $NL$
 
-$ ®I¶¬^XNpÌ^XNú»ubNÌ¶¬
+$ 動的生成タスク用のタスク初期化ブロックの生成
 $IF num_atskid > 0$
 	TINIB _kernel_atinib_table[$num_atskid$];$NL$
@@ -356,9 +352,9 @@
 $END$$NL$
 
-$ ^XNÇubNÌ¶¬
+$ タスク管理ブロックの生成
 TCB _kernel_tcb_table[TNUM_TSKID];$NL$
 $NL$
 
-$ ^XN¶¬e[uÌ¶¬
+$ タスク生成順序テーブルの生成
 const ID _kernel_torder_table[TNUM_STSKID] = {$NL$
 $TAB$$JOINEACH tskid TSK.ORDER_LIST ", "$$tskid$$END$$NL$
@@ -367,5 +363,5 @@
 
 $ 
-$  Z}tH
+$  セマフォ
 $ 
 /*$NL$
@@ -374,33 +370,33 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Z}tHÌ
+$ 静的に生成されたセマフォの数
 #define TNUM_SSEMID	$LENGTH(SEM.ID_LIST)$$NL$
 $NL$
 
-$ Z}tHIDÔÌÅål
+$ セマフォID番号の最大値
 const ID _kernel_tmax_semid = (TMIN_SEMID + TNUM_SEMID - 1);$NL$
 const ID _kernel_tmax_ssemid = (TMIN_SEMID + TNUM_SSEMID - 1);$NL$
 $NL$
 
-$ Z}tHú»ubNÌ¶¬
+$ セマフォ初期化ブロックの生成
 $IF LENGTH(SEM.ID_LIST)$
 	const SEMINIB _kernel_seminib_table[TNUM_SSEMID] = {$NL$
 	$JOINEACH semid SEM.ID_LIST ",\n"$
-$		// sematrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// sematrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (SEM.SEMATR[semid] & ~TA_TPRI) != 0$
 			$ERROR SEM.TEXT_LINE[semid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "sematr", SEM.SEMATR[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// (0 <= isemcnt && isemcnt <= maxsem)ÅÈ¢êiE_PARj
+$		// (0 <= isemcnt && isemcnt <= maxsem)でない場合（E_PAR）
 		$IF !(0 <= SEM.ISEMCNT[semid] && SEM.ISEMCNT[semid] <= SEM.MAXSEM[semid])$
 			$ERROR SEM.TEXT_LINE[semid]$E_PAR: $FORMAT(_("too large %1% `%2%\' of `%3%\' in %4%"), "isemcnt", SEM.ISEMCNT[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// (1 <= maxsem && maxsem <= TMAX_MAXSEM)ÅÈ¢êiE_PARj
+$		// (1 <= maxsem && maxsem <= TMAX_MAXSEM)でない場合（E_PAR）
 		$IF !(1 <= SEM.MAXSEM[semid] && SEM.MAXSEM[semid] <= TMAX_MAXSEM)$
 			$ERROR SEM.TEXT_LINE[semid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxsem", SEM.MAXSEM[semid], semid, "CRE_SEM")$$END$
 		$END$
 
-$		// Z}tHú»ubN
+$		// セマフォ初期化ブロック
 		$TAB${ ($SEM.SEMATR[semid]$), ($SEM.ISEMCNT[semid]$), ($SEM.MAXSEM[semid]$) }
 	$END$$NL$
@@ -410,5 +406,5 @@
 $END$$NL$
 
-$ ®I¶¬Z}tHpÌZ}tHú»ubNÌ¶¬
+$ 動的生成セマフォ用のセマフォ初期化ブロックの生成
 $IF num_asemid > 0$
 	SEMINIB _kernel_aseminib_table[$num_asemid$];$NL$
@@ -417,5 +413,5 @@
 $END$$NL$
 
-$ Z}tHÇubNÌ¶¬
+$ セマフォ管理ブロックの生成
 $IF num_semid > 0$
 	SEMCB _kernel_semcb_table[TNUM_SEMID];$NL$
@@ -425,5 +421,5 @@
 
 $ 
-$  CxgtO
+$  イベントフラグ
 $ 
 /*$NL$
@@ -432,28 +428,28 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½CxgtOÌ
+$ 静的に生成されたイベントフラグの数
 #define TNUM_SFLGID	$LENGTH(FLG.ID_LIST)$$NL$
 $NL$
 
-$ CxgtOIDÔÌÅål
+$ イベントフラグID番号の最大値
 const ID _kernel_tmax_flgid = (TMIN_FLGID + TNUM_FLGID - 1);$NL$
 const ID _kernel_tmax_sflgid = (TMIN_FLGID + TNUM_SFLGID - 1);$NL$
 $NL$
 
-$ CxgtOú»ubNÌ¶¬
+$ イベントフラグ初期化ブロックの生成
 $IF LENGTH(FLG.ID_LIST)$
 	const FLGINIB _kernel_flginib_table[TNUM_SFLGID] = {$NL$
 	$JOINEACH flgid FLG.ID_LIST ",\n"$
-$		// flgatrªimTA_TPRInbmTA_WMULnbmTA_CLRnjÅÈ¢êiE_RSATRj
+$		// flgatrが（［TA_TPRI］｜［TA_WMUL］｜［TA_CLR］）でない場合（E_RSATR）
 		$IF (FLG.FLGATR[flgid] & ~(TA_TPRI|TA_WMUL|TA_CLR)) != 0$
 			$ERROR FLG.TEXT_LINE[flgid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "flgatr", FLG.FLGATR[flgid], flgid, "CRE_FLG")$$END$
 		$END$
 
-$		// iflgptnªFLGPTNÉi[Å«È¢êiE_PARj
+$		// iflgptnがFLGPTNに格納できない場合（E_PAR）
 		$IF (FLG.IFLGPTN[flgid] & ~((1 << TBIT_FLGPTN) - 1)) != 0$
 			$ERROR FLG.TEXT_LINE[flgid]$E_PAR: $FORMAT(_("too large %1% `%2%\' of `%3%\' in %4%"), "iflgptn", FLG.IFLGPTN[flgid], flgid, "CRE_FLG")$$END$
 		$END$
 
-$		// CxgtOú»ubN
+$		// イベントフラグ初期化ブロック
 		$TAB${ ($FLG.FLGATR[flgid]$), ($FLG.IFLGPTN[flgid]$) }
 	$END$$NL$
@@ -463,5 +459,5 @@
 $END$$NL$
 
-$ ®I¶¬CxgtOpÌCxgtOú»ubNÌ¶¬
+$ 動的生成イベントフラグ用のイベントフラグ初期化ブロックの生成
 $IF num_aflgid > 0$
 	FLGINIB _kernel_aflginib_table[$num_aflgid$];$NL$
@@ -470,5 +466,5 @@
 $END$$NL$
 
-$ CxgtOÇubNÌ¶¬
+$ イベントフラグ管理ブロックの生成
 $IF num_flgid > 0$
 	FLGCB _kernel_flgcb_table[TNUM_FLGID];$NL$
@@ -478,6 +474,5 @@
 
 $ 
-$  f[^L
-[
+$  データキュー
 $ 
 /*$NL$
@@ -486,11 +481,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½f[^L
-[Ì
+$ 静的に生成されたデータキューの数
 #define TNUM_SDTQID	$LENGTH(DTQ.ID_LIST)$$NL$
 $NL$
 
-$ f[^L
-[IDÔÌÅål
+$ データキューID番号の最大値
 const ID _kernel_tmax_dtqid = (TMIN_DTQID + TNUM_DTQID - 1);$NL$
 const ID _kernel_tmax_sdtqid = (TMIN_DTQID + TNUM_SDTQID - 1);$NL$
@@ -499,21 +492,20 @@
 $IF LENGTH(DTQ.ID_LIST)$
 	$FOREACH dtqid DTQ.ID_LIST$
-$		// dtqatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// dtqatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (DTQ.DTQATR[dtqid] & ~TA_TPRI) != 0$
 			$ERROR DTQ.TEXT_LINE[dtqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqatr", DTQ.DTQATR[dtqid], dtqid, "CRE_DTQ")$$END$
 		$END$
 
-$		// dtqcntªÌêiE_PARj
+$		// dtqcntが負の場合（E_PAR）
 		$IF DTQ.DTQCNT[dtqid] < 0$
 			$ERROR DTQ.TEXT_LINE[dtqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqcnt", DTQ.DTQCNT[dtqid], dtqid, "CRE_DTQ")$$END$
 		$END$
 
-$		// dtqmbªNULLÅÈ¢êiE_NOSPTj
+$		// dtqmbがNULLでない場合（E_NOSPT）
 		$IF !EQ(DTQ.DTQMB[dtqid], "NULL")$
 			$ERROR DTQ.TEXT_LINE[dtqid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "dtqmb", DTQ.DTQMB[dtqid], dtqid, "CRE_DTQ")$$END$
 		$END$
 
-$		// f[^L
-[ÇÌæ
+$		// データキュー管理領域
 		$IF DTQ.DTQCNT[dtqid]$
 			static DTQMB _kernel_dtqmb_$dtqid$[$DTQ.DTQCNT[dtqid]$];$NL$
@@ -521,6 +513,5 @@
 	$END$
 
-$	// f[^L
-[ú»ubNÌ¶¬
+$	// データキュー初期化ブロックの生成
 	const DTQINIB _kernel_dtqinib_table[TNUM_SDTQID] = {$NL$
 	$JOINEACH dtqid DTQ.ID_LIST ",\n"$
@@ -532,7 +523,5 @@
 $END$$NL$
 
-$ ®I¶¬f[^L
-[pÌf[^L
-[ú»ubNÌ¶¬
+$ 動的生成データキュー用のデータキュー初期化ブロックの生成
 $IF num_adtqid > 0$
 	DTQINIB _kernel_adtqinib_table[$num_adtqid$];$NL$
@@ -541,6 +530,5 @@
 $END$$NL$
 
-$ f[^L
-[ÇubNÌ¶¬
+$ データキュー管理ブロックの生成
 $IF num_dtqid > 0$
 	DTQCB _kernel_dtqcb_table[TNUM_DTQID];$NL$
@@ -550,6 +538,5 @@
 
 $ 
-$  Dæxf[^L
-[
+$  優先度データキュー
 $ 
 /*$NL$
@@ -558,11 +545,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Dæxf[^L
-[Ì
+$ 静的に生成された優先度データキューの数
 #define TNUM_SPDQID	$LENGTH(PDQ.ID_LIST)$$NL$
 $NL$
 
-$ Dæxf[^L
-[IDÔÌÅål
+$ 優先度データキューID番号の最大値
 const ID _kernel_tmax_pdqid = (TMIN_PDQID + TNUM_PDQID - 1);$NL$
 const ID _kernel_tmax_spdqid = (TMIN_PDQID + TNUM_SPDQID - 1);$NL$
@@ -571,26 +556,25 @@
 $IF LENGTH(PDQ.ID_LIST)$
 	$FOREACH pdqid PDQ.ID_LIST$
-$		// pdqatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// pdqatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (PDQ.PDQATR[pdqid] & ~TA_TPRI) != 0$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqatr", PDQ.PDQATR[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// pdqcntªÌêiE_PARj
+$		// pdqcntが負の場合（E_PAR）
 		$IF PDQ.PDQCNT[pdqid] < 0$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqcnt", PDQ.PDQCNT[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)ÅÈ¢êiE_PARj
+$		// (TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)でない場合（E_PAR）
 		$IF !(TMIN_DPRI <= PDQ.MAXDPRI[pdqid] && PDQ.MAXDPRI[pdqid] <= TMAX_DPRI)$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxdpri", PDQ.MAXDPRI[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// pdqmbªNULLÅÈ¢êiE_NOSPTj
+$		// pdqmbがNULLでない場合（E_NOSPT）
 		$IF !EQ(PDQ.PDQMB[pdqid], "NULL")$
 			$ERROR PDQ.TEXT_LINE[pdqid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "pdqmb", PDQ.PDQMB[pdqid], pdqid, "CRE_PDQ")$$END$
 		$END$
 
-$		// Dæxf[^L
-[ÇÌæ
+$		// 優先度データキュー管理領域
 		$IF PDQ.PDQCNT[pdqid]$
 			static PDQMB _kernel_pdqmb_$pdqid$[$PDQ.PDQCNT[pdqid]$];$NL$
@@ -598,6 +582,5 @@
 	$END$
 
-$	// Dæxf[^L
-[ú»ubNÌ¶¬
+$	// 優先度データキュー初期化ブロックの生成
 	const PDQINIB _kernel_pdqinib_table[TNUM_SPDQID] = {$NL$
 	$JOINEACH pdqid PDQ.ID_LIST ",\n"$
@@ -609,7 +592,5 @@
 $END$$NL$
 
-$ ®I¶¬Dæxf[^L
-[pÌDæxf[^L
-[ú»ubNÌ¶¬
+$ 動的生成優先度データキュー用の優先度データキュー初期化ブロックの生成
 $IF num_apdqid > 0$
 	PDQINIB _kernel_apdqinib_table[$num_apdqid$];$NL$
@@ -618,6 +599,5 @@
 $END$$NL$
 
-$ Dæxf[^L
-[ÇubNÌ¶¬
+$ 優先度データキュー管理ブロックの生成
 $IF num_pdqid > 0$
 	PDQCB _kernel_pdqcb_table[TNUM_PDQID];$NL$
@@ -627,5 +607,5 @@
 
 $ 
-$  [{bNX
+$  メールボックス
 $ 
 /*$NL$
@@ -634,33 +614,33 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½[{bNXÌ
+$ 静的に生成されたメールボックスの数
 #define TNUM_SMBXID	$LENGTH(MBX.ID_LIST)$$NL$
 $NL$
 
-$ [{bNXIDÔÌÅål
+$ メールボックスID番号の最大値
 const ID _kernel_tmax_mbxid = (TMIN_MBXID + TNUM_MBXID - 1);$NL$
 const ID _kernel_tmax_smbxid = (TMIN_MBXID + TNUM_SMBXID - 1);$NL$
 $NL$
 
-$ [{bNXú»ubNÌ¶¬
+$ メールボックス初期化ブロックの生成
 $IF LENGTH(MBX.ID_LIST)$
 	const MBXINIB _kernel_mbxinib_table[TNUM_SMBXID] = {$NL$
 	$JOINEACH mbxid MBX.ID_LIST ",\n"$
-$		// mbxatrªimTA_TPRInbmTA_MPRInjÅÈ¢êiE_RSATRj
+$		// mbxatrが（［TA_TPRI］｜［TA_MPRI］）でない場合（E_RSATR）
 		$IF (MBX.MBXATR[mbxid] & ~(TA_TPRI|TA_MPRI)) != 0$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mbxatr", MBX.MBXATR[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// (TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI)ÅÈ¢êiE_PARj
+$		// (TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI)でない場合（E_PAR）
 		$IF !(TMIN_MPRI <= MBX.MAXMPRI[mbxid] && MBX.MAXMPRI[mbxid] <= TMAX_MPRI)$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "maxmpri", MBX.MAXMPRI[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// mprihdªNULLÅÈ¢êiE_NOSPTj
+$		// mprihdがNULLでない場合（E_NOSPT）
 		$IF !EQ(MBX.MPRIHD[mbxid], "NULL")$
 			$ERROR MBX.TEXT_LINE[mbxid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mprihd", MBX.MPRIHD[mbxid], mbxid, "CRE_MBX")$$END$
 		$END$
 
-$		// [{bNXú»ubN
+$		// メールボックス初期化ブロック
 		$TAB${ ($MBX.MBXATR[mbxid]$), ($MBX.MAXMPRI[mbxid]$) }
 	$END$$NL$
@@ -670,5 +650,5 @@
 $END$$NL$
 
-$ ®I¶¬[{bNXpÌ[{bNXú»ubNÌ¶¬
+$ 動的生成メールボックス用のメールボックス初期化ブロックの生成
 $IF num_ambxid > 0$
 	MBXINIB _kernel_ambxinib_table[$num_ambxid$];$NL$
@@ -677,5 +657,5 @@
 $END$$NL$
 
-$ [{bNXÇubNÌ¶¬
+$ メールボックス管理ブロックの生成
 $IF num_mbxid > 0$
 	MBXCB _kernel_mbxcb_table[TNUM_MBXID];$NL$
@@ -685,5 +665,5 @@
 
 $ 
-$  Åè·v[
+$  固定長メモリプール
 $ 
 /*$NL$
@@ -692,9 +672,9 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½Åè·v[Ì
+$ 静的に生成された固定長メモリプールの数
 #define TNUM_SMPFID	$LENGTH(MPF.ID_LIST)$$NL$
 $NL$
 
-$ Åè·v[IDÔÌÅål
+$ 固定長メモリプールID番号の最大値
 const ID _kernel_tmax_mpfid = (TMIN_MPFID + TNUM_MPFID - 1);$NL$
 const ID _kernel_tmax_smpfid = (TMIN_MPFID + TNUM_SMPFID - 1);$NL$
@@ -703,34 +683,34 @@
 $IF LENGTH(MPF.ID_LIST)$
 	$FOREACH mpfid MPF.ID_LIST$
-$		// mpfatrªimTA_TPRInjÅÈ¢êiE_RSATRj
+$		// mpfatrが（［TA_TPRI］）でない場合（E_RSATR）
 		$IF (MPF.MPFATR[mpfid] & ~TA_TPRI) != 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mpfatr", MPF.MPFATR[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// blkcntª0ÈºÌêiE_PARj
+$		// blkcntが0以下の場合（E_PAR）
 		$IF MPF.BLKCNT[mpfid] <= 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "blkcnt", MPF.BLKCNT[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// blkszª0ÈºÌêiE_PARj
+$		// blkszが0以下の場合（E_PAR）
 		$IF MPF.BLKSZ[mpfid] <= 0$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "blksz", MPF.BLKSZ[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// Åè·v[Ìæ
+$		// 固定長メモリプール領域
 		$IF EQ(MPF.MPF[mpfid], "NULL")$
 			static MPF_T _kernel_mpf_$mpfid$[($MPF.BLKCNT[mpfid]$) * COUNT_MPF_T($MPF.BLKSZ[mpfid]$)];$NL$
 		$END$
 
-$		// mpfmbªNULLÅÈ¢êiE_NOSPTj
+$		// mpfmbがNULLでない場合（E_NOSPT）
 		$IF !EQ(MPF.MPFMB[mpfid], "NULL")$
 			$ERROR MPF.TEXT_LINE[mpfid]$E_NOSPT: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "mpfmb", MPF.MPFMB[mpfid], mpfid, "CRE_MPF")$$END$
 		$END$
 
-$		// Åè·v[ÇÌæ
+$		// 固定長メモリプール管理領域
 		static MPFMB _kernel_mpfmb_$mpfid$[$MPF.BLKCNT[mpfid]$];$NL$
 	$END$
 
-$	// Åè·v[ú»ubNÌ¶¬
+$	// 固定長メモリプール初期化ブロックの生成
 	const MPFINIB _kernel_mpfinib_table[TNUM_SMPFID] = {$NL$
 	$JOINEACH mpfid MPF.ID_LIST ",\n"$
@@ -742,5 +722,5 @@
 $END$$NL$
 
-$ ®I¶¬Åè·v[pÌÅè·v[ú»ubNÌ¶¬
+$ 動的生成固定長メモリプール用の固定長メモリプール初期化ブロックの生成
 $IF num_ampfid > 0$
 	MPFINIB _kernel_ampfinib_table[$num_ampfid$];$NL$
@@ -749,5 +729,5 @@
 $END$$NL$
 
-$ Åè·v[ÇubNÌ¶¬
+$ 固定長メモリプール管理ブロックの生成
 $IF num_mpfid > 0$
 	MPFCB _kernel_mpfcb_table[TNUM_MPFID];$NL$
@@ -757,5 +737,5 @@
 
 $ 
-$  üúnh
+$  周期ハンドラ
 $ 
 /*$NL$
@@ -764,38 +744,38 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½üúnhÌ
+$ 静的に生成された周期ハンドラの数
 #define TNUM_SCYCID	$LENGTH(CYC.ID_LIST)$$NL$
 $NL$
 
-$ üúnhIDÔÌÅål
+$ 周期ハンドラID番号の最大値
 const ID _kernel_tmax_cycid = (TMIN_CYCID + TNUM_CYCID - 1);$NL$
 const ID _kernel_tmax_scycid = (TMIN_CYCID + TNUM_SCYCID - 1);$NL$
 $NL$
 
-$ üúnhú»e[uÌ¶¬
+$ 周期ハンドラ初期化テーブルの生成
 $IF LENGTH(CYC.ID_LIST)$
 	const CYCINIB _kernel_cycinib_table[TNUM_SCYCID] = {$NL$
 	$JOINEACH cycid CYC.ID_LIST ",\n"$
-$		// cycatrªimTA_STAnjÅÈ¢êiE_RSATRj
+$		// cycatrが（［TA_STA］）でない場合（E_RSATR）
 		$IF (CYC.CYCATR[cycid] & ~TA_STA) != 0$
 			$ERROR CYC.TEXT_LINE[cycid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycatr", CYC.CYCATR[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// (0 < cyctim && cyctim <= TMAX_RELTIM)ÅÈ¢êiE_PARj
+$		// (0 < cyctim && cyctim <= TMAX_RELTIM)でない場合（E_PAR）
 		$IF !(0 < CYC.CYCTIM[cycid] && CYC.CYCTIM[cycid] <= TMAX_RELTIM)$
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cyctim", CYC.CYCTIM[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// (0 <= cycphs && cycphs <= TMAX_RELTIM)ÅÈ¢êiE_PARj
+$		// (0 <= cycphs && cycphs <= TMAX_RELTIM)でない場合（E_PAR）
 		$IF !(0 <= CYC.CYCPHS[cycid] && CYC.CYCPHS[cycid] <= TMAX_RELTIM)$
 			$ERROR CYC.TEXT_LINE[cycid]$E_PAR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "cycphs", CYC.CYCPHS[cycid], cycid, "CRE_CYC")$$END$
 		$END$
 
-$		// xFcycatrÉTA_STAªÝè³êÄ¢ÄC(cycphs == 0)Ìê
+$		// 警告：cycatrにTA_STAが設定されていて，(cycphs == 0)の場合
 		$IF (CYC.CYCATR[cycid] & TA_STA) != 0 && CYC.CYCPHS[cycid] == 0$
 			$WARNING CYC.TEXT_LINE[cycid]$$FORMAT(_("%1% is not recommended when %2% is set to %3% in %4%"), "cycphs==0", "TA_STA", "cycatr", "CRE_CYC")$$END$
 		$END$
 
-$		// üúnhú»ubN
+$		// 周期ハンドラ初期化ブロック
 		$TAB${ ($CYC.CYCATR[cycid]$), (intptr_t)($CYC.EXINF[cycid]$), ($CYC.CYCHDR[cycid]$), ($CYC.CYCTIM[cycid]$), ($CYC.CYCPHS[cycid]$) }
 	$END$$NL$
@@ -805,5 +785,5 @@
 $END$$NL$
 
-$ ®I¶¬üúnhpÌüúnhú»ubNÌ¶¬
+$ 動的生成周期ハンドラ用の周期ハンドラ初期化ブロックの生成
 $IF num_acycid > 0$
 	CYCINIB _kernel_acycinib_table[$num_acycid$];$NL$
@@ -812,5 +792,5 @@
 $END$$NL$
 
-$ üúnhÇubNÌ¶¬
+$ 周期ハンドラ管理ブロックの生成
 $IF num_cycid > 0$
 	CYCCB _kernel_cyccb_table[TNUM_CYCID];$NL$
@@ -820,5 +800,5 @@
 
 $ 
-$  A[nh
+$  アラームハンドラ
 $ 
 /*$NL$
@@ -827,23 +807,23 @@
 $NL$
 
-$ ÃIÉ¶¬³ê½A[nhÌ
+$ 静的に生成されたアラームハンドラの数
 #define TNUM_SALMID	$LENGTH(ALM.ID_LIST)$$NL$
 $NL$
 
-$ A[nhIDÔÌÅål
+$ アラームハンドラID番号の最大値
 const ID _kernel_tmax_almid = (TMIN_ALMID + TNUM_ALMID - 1);$NL$
 const ID _kernel_tmax_salmid = (TMIN_ALMID + TNUM_SALMID - 1);$NL$
 $NL$
 
-$ A[nhú»ubNÌ¶¬
+$ アラームハンドラ初期化ブロックの生成
 $IF LENGTH(ALM.ID_LIST)$
 	const ALMINIB _kernel_alminib_table[TNUM_SALMID] = {$NL$
 	$JOINEACH almid ALM.ID_LIST ",\n"$
-$		// almatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$		// almatrが（TA_NULL）でない場合（E_RSATR）
 		$IF ALM.ALMATR[almid] != 0$
 			$ERROR ALM.TEXT_LINE[almid]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of `%3%\' in %4%"), "almatr", ALM.ALMATR[almid], almid, "CRE_ALM")$$END$
 		$END$
 
-$		// A[nhú»ubN
+$		// アラームハンドラ初期化ブロック
 		$TAB${ ($ALM.ALMATR[almid]$), (intptr_t)($ALM.EXINF[almid]$), ($ALM.ALMHDR[almid]$) }
 	$END$$NL$
@@ -853,5 +833,5 @@
 $END$$NL$
 
-$ ®I¶¬A[nhpÌA[nhú»ubNÌ¶¬
+$ 動的生成アラームハンドラ用のアラームハンドラ初期化ブロックの生成
 $IF num_aalmid > 0$
 	ALMINIB _kernel_aalminib_table[$num_aalmid$];$NL$
@@ -860,5 +840,5 @@
 $END$$NL$
 
-$ A[nhÇubNÌ¶¬
+$ アラームハンドラ管理ブロックの生成
 $IF num_almid > 0$
 	ALMCB _kernel_almcb_table[TNUM_ALMID];$NL$
@@ -868,5 +848,5 @@
 
 $ 
-$  ÝÇ@\
+$  割込み管理機能
 $ 
 /*$NL$
@@ -875,5 +855,5 @@
 $NL$
 
-$ ÝÔÆÝnhÔÌÏ·e[uÌì¬
+$ 割込み番号と割込みハンドラ番号の変換テーブルの作成
 $IF LENGTH(INTNO_ATTISR_VALID) != LENGTH(INHNO_ATTISR_VALID)$
 	$ERROR$length of `INTNO_ATTISR_VALID' is different from length of `INHNO_ATTISR_VALID'$END$
@@ -887,13 +867,13 @@
 $END$
 
-$ ÝvCÉÖ·éG[`FbN
+$ 割込み要求ラインに関するエラーチェック
 $i = 0$
 $FOREACH intno INT.ORDER_LIST$
-$	// intnoªCFG_INTÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
+$	// intnoがCFG_INTに対する割込み番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTNO_CFGINT_VALID, INT.INTNO[intno]))$
 		$ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", INT.INTNO[intno], "CFG_INT")$$END$
 	$END$
 
-$	// intnoªCFG_INTÉæÁÄÝèÏÝÌêiE_OBJj
+$	// intnoがCFG_INTによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH intno2 INT.ORDER_LIST$
@@ -904,16 +884,16 @@
 	$END$
 
-$	// intatrªimTA_ENAINTnbmTA_EDGEnjÅÈ¢êiE_RSATRj
+$	// intatrが（［TA_ENAINT］｜［TA_EDGE］）でない場合（E_RSATR）
 	$IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE|TARGET_INTATR)) != 0$
 		$ERROR INT.TEXT_LINE[intno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "intatr", INT.INTATR[intno], "intno", INT.INTNO[intno], "CFG_INT")$$END$
 	$END$
 
-$	// intpriªCFG_INTÉÎ·éÝDæxÆµÄ³µ­È¢êiE_PARj
+$	// intpriがCFG_INTに対する割込み優先度として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTPRI_CFGINT_VALID, INT.INTPRI[intno]))$
 		$ERROR INT.TEXT_LINE[intno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intpri", INT.INTPRI[intno], "CFG_INT")$$END$
 	$END$
 
-$	// J[lÇÉÅè³êÄ¢éintnoÉÎµÄCintpriÉTMIN_INTPRI
-$	// æèà¬³¢lªwè³ê½êiE_OBJj
+$	// カーネル管理に固定されているintnoに対して，intpriにTMIN_INTPRI
+$	// よりも小さい値が指定された場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_KERNEL, intno))$
 		$IF INT.INTPRI[intno] < TMIN_INTPRI$
@@ -922,6 +902,6 @@
 	$END$
 
-$	// J[lÇOÉÅè³êÄ¢éintnoÉÎµÄCintpriÉTMIN_INTPRI
-$	// æèà¬³¢lªwè³êÈ©Á½êiE_OBJj
+$	// カーネル管理外に固定されているintnoに対して，intpriにTMIN_INTPRI
+$	// よりも小さい値が指定されなかった場合（E_OBJ）
 	$IF LENGTH(FIND(INTNO_FIX_NONKERNEL, intno))$
 		$IF INT.INTPRI[intno] >= TMIN_INTPRI$
@@ -932,13 +912,13 @@
 $END$
 
-$ ÝnhÉÖ·éG[`FbN
+$ 割込みハンドラに関するエラーチェック
 $i = 0$
 $FOREACH inhno INH.ORDER_LIST$
-$	// inhnoªDEF_INHÉÎ·éÝnhÔÆµÄ³µ­È¢êiE_PARj
+$	// inhnoがDEF_INHに対する割込みハンドラ番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INHNO_DEFINH_VALID, INH.INHNO[inhno]))$
 		$ERROR INH.TEXT_LINE[inhno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "inhno", INH.INHNO[inhno], "DEF_INH")$$END$
 	$END$
 
-$	// inhnoªDEF_INHÉæÁÄÝèÏÝÌêiE_OBJj
+$	// inhnoがDEF_INHによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH inhno2 INH.ORDER_LIST$
@@ -949,11 +929,11 @@
 	$END$
 
-$	// inhatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// inhatrが（TA_NULL）でない場合（E_RSATR）
 	$IF (INH.INHATR[inhno] & ~TARGET_INHATR) != 0$
 		$ERROR INH.TEXT_LINE[inhno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "inhatr", INH.INHATR[inhno], "inhno", INH.INHNO[inhno], "DEF_INH")$$END$
 	$END$
 
-$	// J[lÇÉÅè³êÄ¢éinhnoÉÎµÄCinhatrÉTA_NONKERNEL
-$	//@ªwè³êÄ¢éêiE_RSATRj
+$	// カーネル管理に固定されているinhnoに対して，inhatrにTA_NONKERNEL
+$	//　が指定されている場合（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_KERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) != 0$
@@ -962,6 +942,6 @@
 	$END$
 
-$	// J[lÇOÉÅè³êÄ¢éinhnoÉÎµÄCinhatrÉTA_NONKERNEL
-$	// ªwè³êÄ¢È¢êiE_RSATRj
+$	// カーネル管理外に固定されているinhnoに対して，inhatrにTA_NONKERNEL
+$	// が指定されていない場合（E_RSATR）
 	$IF LENGTH(FIND(INHNO_FIX_NONKERNEL, inhno))$
 		$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
@@ -972,19 +952,19 @@
 	$IF LENGTH(INTNO[INH.INHNO[inhno]])$
 		$intno = INTNO[INH.INHNO[inhno]]$
-$		// inhnoÉÎ·éintnoÉÎ·éCFG_INTªÈ¢êiE_OBJj
+$		// inhnoに対応するintnoに対するCFG_INTがない場合（E_OBJ）
 		$IF !LENGTH(INT.INTNO[intno])$
 			$ERROR INH.TEXT_LINE[inhno]$E_OBJ: $FORMAT(_("%1% `%2%\' corresponding to %3% `%4%\' is not configured with %5%"), "intno", INT.INTNO[intno], "inhno", INH.INHNO[inhno], "CFG_INT")$$END$
 		$ELSE$
 			$IF (INH.INHATR[inhno] & TA_NONKERNEL) == 0$
-$				// inhatrÉTA_NONKERNELªwè³êÄ¨ç¸CinhnoÉÎ
-$				// ·éintnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxª
-$				// TMIN_INTPRIæèà¬³¢êiE_OBJj
+$				// inhatrにTA_NONKERNELが指定されておらず，inhnoに対応
+$				// するintnoに対してCFG_INTで設定された割込み優先度が
+$				// TMIN_INTPRIよりも小さい場合（E_OBJ）
 				$IF INT.INTPRI[intno] < TMIN_INTPRI$
 					$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is higher than %5%"), "intpri", INT.INTPRI[intno], "inhno", INH.INHNO[inhno], "TMIN_INTPRI")$$END$
 				$END$
 			$ELSE$
-$				// inhatrÉTA_NONKERNELªwè³êÄ¨èCinhnoÉÎ
-$				// ·éintnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxª
-$				// TMIN_INTPRIÈãÅ éêiE_OBJj
+$				// inhatrにTA_NONKERNELが指定されており，inhnoに対応
+$				// するintnoに対してCFG_INTで設定された割込み優先度が
+$				// TMIN_INTPRI以上である場合（E_OBJ）
 				$IF INT.INTPRI[intno] >= TMIN_INTPRI$
 					$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is lower than or equal to %5%"), "intpri", INT.INTPRI[intno], "inhno", INH.INHNO[inhno], "TMIN_INTPRI")$$END$
@@ -996,17 +976,17 @@
 $END$
 
-$ ÝT[rX[`iISRjÉÖ·éG[`FbN
+$ 割込みサービスルーチン（ISR）に関するエラーチェック
 $FOREACH order ISR.ORDER_LIST$
-$	// isratrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// isratrが（TA_NULL）でない場合（E_RSATR）
 	$IF (ISR.ISRATR[order] & ~TARGET_ISRATR) != 0$
 		$ERROR ISR.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "isratr", ISR.ISRATR[order], "ATT_ISR")$$END$
 	$END$
 
-$	// intnoªATT_ISRÉÎ·éÝÔÆµÄ³µ­È¢êiE_PARj
+$	// intnoがATT_ISRに対する割込み番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(INTNO_ATTISR_VALID, ISR.INTNO[order]))$
 		$ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "intno", ISR.INTNO[order], "ATT_ISR")$$END$
 	$END$
 
-$	// (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)ÅÈ¢êiE_PARj
+$	// (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合（E_PAR）
 	$IF !(TMIN_ISRPRI <= ISR.ISRPRI[order] && ISR.ISRPRI[order] <= TMAX_ISRPRI)$
 		$ERROR ISR.TEXT_LINE[order]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "isrpri", ISR.ISRPRI[order], "ATT_ISR")$$END$
@@ -1017,5 +997,5 @@
 	$inhno = INHNO[intno]$
 
-$	// ÝÔintnoÉÎµÄo^³ê½ISRÌXgÌì¬
+$	// 割込み番号intnoに対して登録されたISRのリストの作成
 	$isr_order_list = {}$
 	$FOREACH order ISR.ORDER_LIST$
@@ -1026,17 +1006,17 @@
 	$END$
 
-$	// ÝÔintnoÉÎµÄo^³ê½ISRª¶Ý·éê
+$	// 割込み番号intnoに対して登録されたISRが存在する場合
 	$IF LENGTH(isr_order_list) > 0$
-$		// intnoÉÎ·éinhnoÉÎµÄDEF_INHª éêiE_OBJj
+$		// intnoに対応するinhnoに対してDEF_INHがある場合（E_OBJ）
 		$IF LENGTH(INH.INHNO[inhno])$
 			$ERROR ISR.TEXT_LINE[order_for_error]$E_OBJ: $FORMAT(_("%1% `%2%\' in %3% is duplicated with %4% `%5%\'"), "intno", ISR.INTNO[order_for_error], "ATT_ISR", "inhno", INH.INHNO[inhno])$$END$
 		$END$
 
-$		// intnoÉÎ·éCFG_INTªÈ¢êiE_OBJj
+$		// intnoに対するCFG_INTがない場合（E_OBJ）
 		$IF !LENGTH(INT.INTNO[intno])$
 			$ERROR ISR.TEXT_LINE[order_for_error]$E_OBJ: $FORMAT(_("%1% `%2%\' is not configured with %3%"), "intno", ISR.INTNO[order_for_error], "CFG_INT")$$END$
 		$ELSE$
-$			// intnoÉÎµÄCFG_INTÅÝè³ê½ÝDæxªTMIN_INTPRI
-$			// æèà¬³¢êiE_OBJj
+$			// intnoに対してCFG_INTで設定された割込み優先度がTMIN_INTPRI
+$			// よりも小さい場合（E_OBJ）
 			$IF INT.INTPRI[intno] < TMIN_INTPRI$
 				$ERROR INT.TEXT_LINE[intno]$E_OBJ: $FORMAT(_("%1% `%2%\' configured for %3% `%4%\' is higher than %5%"), "intpri", INT.INTPRI[intno], "intno", ISR.INTNO[order_for_error], "TMIN_INTPRI")$$END$
@@ -1046,5 +1026,5 @@
 $END$
 
-$ ÝT[rX[`iISRjÇÌf[^\¢
+$ 割込みサービスルーチン（ISR）管理のデータ構造
 $intno_isr_list = {}$
 $FOREACH intno INTNO_ATTISR_VALID$
@@ -1082,5 +1062,5 @@
 $END$$NL$
 
-$ ÝT[rX[`iISRjÄoµÌ½ßÌÝnhÌ¶¬
+$ 割込みサービスルーチン（ISR）呼出しのための割込みハンドラの生成
 $FOREACH intno INTNO_ISR$
 	$inhno = INHNO[intno]$
@@ -1092,5 +1072,5 @@
 	$INH.ORDER_LIST = APPEND(INH.ORDER_LIST, inhno)$
 
-$	// ISRpÌÝnh
+$	// ISR用の割込みハンドラ
 	void$NL$
 	_kernel_inthdr_$intno$(void)$NL$
@@ -1103,15 +1083,15 @@
 $END$
 
-$ ÝT[rX[`Ì
+$ 割込みサービスルーチンの数
 #define TNUM_SISR	$LENGTH(ISR.ORDER_LIST)$$NL$
 #define TNUM_ISR	$LENGTH(ISR.ORDER_LIST) + num_aisrid$$NL$
 $NL$
 
-$ ÝT[rX[`IDÔÌÅål
+$ 割込みサービスルーチンID番号の最大値
 const ID _kernel_tmax_isrid = (TMIN_ISRID + TNUM_ISRID - 1);$NL$
 const uint_t _kernel_tnum_sisr = TNUM_SISR;$NL$
 $NL$
 
-$ ÝT[rX[`ú»ubNÌ¶¬
+$ 割込みサービスルーチン初期化ブロックの生成
 $IF LENGTH(ISR.ORDER_LIST)$
 	const ISRINIB _kernel_sisrinib_table[TNUM_SISR] = {$NL$
@@ -1125,6 +1105,6 @@
 $NL$
 
-$ ®I¶¬ÝT[rX[`pÌÝT[rX[`ú»ub
-$ NÌ¶¬
+$ 動的生成割込みサービスルーチン用の割込みサービスルーチン初期化ブロッ
+$ クの生成
 $IF num_aisrid > 0$
 	ISRINIB _kernel_aisrinib_table[$num_aisrid$];$NL$
@@ -1134,5 +1114,5 @@
 $NL$
 
-$ ÝT[rX[`ÇubNÌ¶¬
+$ 割込みサービスルーチン管理ブロックの生成
 $IF num_isr > 0$
 	ISRCB _kernel_isrcb_table[TNUM_ISR];$NL$
@@ -1143,10 +1123,10 @@
 
 $ 
-$  ÝÇ@\Ì½ßÌWIÈú»îñÌ¶¬
-$ 
-$ ÝnhÌú»ÉKvÈîñ
+$  割込み管理機能のための標準的な初期化情報の生成
+$ 
+$ 割込みハンドラの初期化に必要な情報
 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INHINIB_TABLE,0)$
 
-$ Ýnh
+$ 割込みハンドラ数
 #define TNUM_INHNO	$LENGTH(INH.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_inhno = TNUM_INHNO;$NL$
@@ -1159,5 +1139,5 @@
 $NL$
 
-$ Ýnhú»e[u
+$ 割込みハンドラ初期化テーブル
 $IF LENGTH(INH.ORDER_LIST)$
 	const INHINIB _kernel_inhinib_table[TNUM_INHNO] = {$NL$
@@ -1175,13 +1155,13 @@
 $END$
 
-$ ÝvCÌú»ÉKvÈîñ
+$ 割込み要求ラインの初期化に必要な情報
 $IF !OMIT_INITIALIZE_INTERRUPT || ALT(USE_INTINIB_TABLE,0)$
 
-$ ÝvC
+$ 割込み要求ライン数
 #define TNUM_INTNO	$LENGTH(INT.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_intno = TNUM_INTNO;$NL$
 $NL$
 
-$ ÝvCú»e[u
+$ 割込み要求ライン初期化テーブル
 $IF LENGTH(INT.ORDER_LIST)$
 	const INTINIB _kernel_intinib_table[TNUM_INTNO] = {$NL$
@@ -1196,5 +1176,5 @@
 
 $ 
-$  CPUáOÇ@\
+$  CPU例外管理機能
 $ 
 /*$NL$
@@ -1203,13 +1183,13 @@
 $NL$
 
-$ CPUáOnhÉÖ·éG[`FbN
+$ CPU例外ハンドラに関するエラーチェック
 $i = 0$
 $FOREACH excno EXC.ORDER_LIST$
-$	// excnoªDEF_EXCÉÎ·éCPUáOnhÔÆµÄ³µ­È¢êiE_PARj
+$	// excnoがDEF_EXCに対するCPU例外ハンドラ番号として正しくない場合（E_PAR）
 	$IF !LENGTH(FIND(EXCNO_DEFEXC_VALID, EXC.EXCNO[excno]))$
 		$ERROR EXC.TEXT_LINE[excno]$E_PAR: $FORMAT(_("illegal %1% `%2%\' in %3%"), "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$
 	$END$
 
-$	// excnoªDEF_EXCÉæÁÄÝèÏÝÌêiE_OBJj
+$	// excnoがDEF_EXCによって設定済みの場合（E_OBJ）
 	$j = 0$
 	$FOREACH excno2 EXC.ORDER_LIST$
@@ -1220,5 +1200,5 @@
 	$END$
 
-$	// excatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$	// excatrが（TA_NULL）でない場合（E_RSATR）
 	$IF (EXC.EXCATR[excno] & ~TARGET_EXCATR) != 0$
 		$ERROR EXC.TEXT_LINE[excno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "excatr", EXC.EXCATR[excno], "excno", EXC.EXCNO[excno], "DEF_EXC")$$END$
@@ -1227,8 +1207,8 @@
 $END$
 
-$ CPUáOnhÌ½ßÌWIÈú»îñÌ¶¬
+$ CPU例外ハンドラのための標準的な初期化情報の生成
 $IF !OMIT_INITIALIZE_EXCEPTION$
 
-$ CPUáOnh
+$ CPU例外ハンドラ数
 #define TNUM_EXCNO	$LENGTH(EXC.ORDER_LIST)$$NL$
 const uint_t _kernel_tnum_excno = TNUM_EXCNO;$NL$
@@ -1239,5 +1219,5 @@
 $NL$
 
-$ CPUáOnhú»e[u
+$ CPU例外ハンドラ初期化テーブル
 $IF LENGTH(EXC.ORDER_LIST)$
 	const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = {$NL$
@@ -1252,5 +1232,5 @@
 
 $ 
-$  ñ^XNReLXgpÌX^bNÌæ
+$  非タスクコンテキスト用のスタック領域
 $ 
 /*$NL$
@@ -1260,5 +1240,5 @@
 
 $IF !LENGTH(ICS.ORDER_LIST)$
-$	// DEF_ICSªÈ¢êÌftHglÌÝè
+$	// DEF_ICSがない場合のデフォルト値の設定
 	#ifdef DEFAULT_ISTK$NL$
 	$NL$
@@ -1275,11 +1255,11 @@
 $ELSE$
 
-$	// ÃIAPIuDEF_ICSvª¡ éiE_OBJj
+$	// 静的API「DEF_ICS」が複数ある（E_OBJ）
 	$IF LENGTH(ICS.ORDER_LIST) > 1$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_ICS")$$END$
 	$END$
 
-$	// istkszª0Èº©C^[Qbgè`ÌÅ¬liTARGET_MIN_ISTKSZjæèà
-$	// ¬³¢êiE_PARj
+$	// istkszが0以下か，ターゲット定義の最小値（TARGET_MIN_ISTKSZ）よりも
+$	// 小さい場合（E_PAR）
 	$IF ICS.ISTKSZ[1] <= 0 || (TARGET_MIN_ISTKSZ
 									&& ICS.ISTKSZ[1] < TARGET_MIN_ISTKSZ)$
@@ -1287,5 +1267,5 @@
 	$END$
 
-$ 	// istkszªX^bNÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// istkszがスタック領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(ICS.ISTK[1], "NULL") && CHECK_STKSZ_ALIGN
 							&& (ICS.ISTKSZ[1] & (CHECK_STKSZ_ALIGN - 1))$
@@ -1294,5 +1274,5 @@
 
 	$IF EQ(ICS.ISTK[1], "NULL")$
-$		// X^bNÌæÌ©®t¯
+$		// スタック領域の自動割付け
 		static STK_T				_kernel_istack[COUNT_STK_T($ICS.ISTKSZ[1]$)];$NL$
 		#define TOPPERS_ISTKSZ		ROUND_STK_T($ICS.ISTKSZ[1]$)$NL$
@@ -1305,5 +1285,5 @@
 $NL$
 
-$ ñ^XNReLXgpÌX^bNÌæ
+$ 非タスクコンテキスト用のスタック領域
 const SIZE		_kernel_istksz = TOPPERS_ISTKSZ;$NL$
 STK_T *const	_kernel_istk = TOPPERS_ISTK;$NL$
@@ -1315,5 +1295,5 @@
 
 $ 
-$  J[lªèt¯éÌæ
+$  カーネルが割り付けるメモリ領域
 $ 
 /*$NL$
@@ -1323,19 +1303,19 @@
 
 $IF !LENGTH(KMM.ORDER_LIST)$
-$	// DEF_KMMªÈ¢êÌftHglÌÝè
+$	// DEF_KMMがない場合のデフォルト値の設定
 	#define TOPPERS_KMMSZ		0$NL$
 	#define TOPPERS_KMM			NULL$NL$
 $ELSE$
-$	// ÃIAPIuDEF_KMMvª¡ éiE_OBJj
+$	// 静的API「DEF_KMM」が複数ある（E_OBJ）
 	$IF LENGTH(KMM.ORDER_LIST) > 1$
 		$ERROR$E_OBJ: $FORMAT(_("too many %1%"), "DEF_KMM")$$END$
 	$END$
 
-$	// kmmszª0ÈºÌêiE_PARj
+$	// kmmszが0以下の場合（E_PAR）
 	$IF KMM.KMMSZ[1] <= 0$
 		$ERROR KMM.TEXT_LINE[1]$E_PAR: $FORMAT(_("%1% `%2%\' is zero in %3%"), "kmmsz", KMM.KMMSZ[1], "DEF_KMM")$$END$
 	$END$
 
-$ 	// kmmszªJ[lªèt¯éÌæÌTCYÆµÄ³µ­È¢êiE_PARj
+$ 	// kmmszがカーネルが割り付けるメモリ領域のサイズとして正しくない場合（E_PAR）
 	$IF !EQ(KMM.KMM[1], "NULL") && CHECK_MB_ALIGN
 							&& (KMM.KMMSZ[1] & (CHECK_MB_ALIGN - 1))$
@@ -1344,5 +1324,5 @@
 
 	$IF EQ(KMM.KMM[1], "NULL")$
-$		// J[lªèt¯éÌæÌ©®t¯
+$		// カーネルが割り付けるメモリ領域の自動割付け
 		static MB_T					_kernel_memory[TOPPERS_COUNT_SZ($KMM.KMMSZ[1]$, sizeof(MB_T))];$NL$
 		#define TOPPERS_KMMSZ		TOPPERS_ROUND_SZ($KMM.KMMSZ[1]$, sizeof(MB_T))$NL$
@@ -1355,5 +1335,5 @@
 $NL$
 
-$ J[lªèt¯éÌæ
+$ カーネルが割り付けるメモリ領域
 const SIZE		_kernel_kmmsz = TOPPERS_KMMSZ;$NL$
 MB_T *const		_kernel_kmm = TOPPERS_KMM;$NL$
@@ -1361,5 +1341,5 @@
 
 $ 
-$  ^CCxgÇ
+$  タイムイベント管理
 $ 
 /*$NL$
@@ -1371,6 +1351,5 @@
 
 $ 
-$  eW
-[Ìú»Ö
+$  各モジュールの初期化関数
 $ 
 /*$NL$
@@ -1397,5 +1376,5 @@
 
 $ 
-$  ú»[`ÌÀsÖ
+$  初期化ルーチンの実行関数
 $ 
 /*$NL$
@@ -1407,5 +1386,5 @@
 {$NL$
 $FOREACH order INI.ORDER_LIST$
-$ 	// iniatrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// iniatrが（TA_NULL）でない場合（E_RSATR）
 	$IF INI.INIATR[order] != 0$
 		$ERROR INI.TEXT_LINE[order]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "iniatr", INI.INIATR[order], "inirtn", INI.INIRTN[order], "ATT_INI")$$END$
@@ -1417,5 +1396,5 @@
 
 $ 
-$  I¹[`ÌÀsÖ
+$  終了処理ルーチンの実行関数
 $ 
 /*$NL$
@@ -1427,5 +1406,5 @@
 {$NL$
 $FOREACH rorder TER.RORDER_LIST$
-$ 	// teratrªiTA_NULLjÅÈ¢êiE_RSATRj
+$ 	// teratrが（TA_NULL）でない場合（E_RSATR）
 	$IF TER.TERATR[rorder] != 0$
 		$ERROR TER.TEXT_LINE[rorder]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "teratr", TER.TERATR[rorder], "terrtn", TER.TERRTN[rorder], "ATT_TER")$$END$
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_check.tf	(revision 167)
@@ -8,36 +8,32 @@
 $               Graduate School of Information Science, Nagoya Univ., JAPAN
 $  
-$   ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
-$   Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
-$   ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
-$   (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
-$        \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
-$       XR[hÉÜÜêÄ¢é±ÆD
-$   (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
-$       Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
-$       Ì³ÛØKèðfÚ·é±ÆD
-$   (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
-$       pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
-$       ÆD
-$     (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
-$         ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
-$     (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
-$         ñ·é±ÆD
-$   (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
-$       Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
-$       Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
-$       RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
-$       ÆÓ·é±ÆD
+$   上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+$   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+$   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+$   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+$       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+$       スコード中に含まれていること．
+$   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+$       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+$       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+$       の無保証規定を掲載すること．
+$   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+$       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+$       と．
+$     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+$         作権表示，この利用条件および下記の無保証規定を掲載すること．
+$     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+$         報告すること．
+$   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+$       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+$       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+$       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+$       免責すること．
 $  
-$   {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
-$   æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
-$   ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
-$   AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
-$   ÌÓCðíÈ¢D
+$   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+$   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+$   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+$   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+$   の責任を負わない．
 $ 
 $   @(#) $Id$
@@ -46,5 +42,5 @@
 
 $
-$  f[^ZNVÌLMA©çVMAÖÌRs[
+$  データセクションのLMAからVMAへのコピー
 $
 $FOREACH lma LMA.ORDER_LIST$
@@ -64,8 +60,8 @@
 
 $ 
-$  ÖÌæªÔnÌ`FbN
+$  関数の先頭番地のチェック
 $ 
 $IF CHECK_FUNC_ALIGN || CHECK_FUNC_NONNULL$
-$	// ^XNÆ^XNáO[`ÌæªÔnÌ`FbN
+$	// タスクとタスク例外処理ルーチンの先頭番地のチェック
 	$tinib = SYMBOL("_kernel_tinib_table")$
 	$FOREACH tskid TSK.ID_LIST$
@@ -90,5 +86,5 @@
 	$END$
 
-$	// üúnhÌæªÔnÌ`FbN
+$	// 周期ハンドラの先頭番地のチェック
 	$cycinib = SYMBOL("_kernel_cycinib_table")$
 	$FOREACH cycid CYC.ID_LIST$
@@ -107,5 +103,5 @@
 	$END$
 
-$	// A[nhÌæªÔnÌ`FbN
+$	// アラームハンドラの先頭番地のチェック
 	$alminib = SYMBOL("_kernel_alminib_table")$
 	$FOREACH almid ALM.ID_LIST$
@@ -124,5 +120,5 @@
 	$END$
 
-$	// ÝT[rX[`ÌæªÔnÌ`FbN
+$	// 割込みサービスルーチンの先頭番地のチェック
 	$isrinib = SYMBOL("_kernel_sisrinib_table")$
 	$FOREACH order ISR.ORDER_LIST$
@@ -143,8 +139,8 @@
 
 $ 
-$  X^bNÌæÌæªÔnÌ`FbN
+$  スタック領域の先頭番地のチェック
 $ 
 $IF CHECK_STACK_ALIGN || CHECK_STACK_NONNULL$
-$	// ^XNÌX^bNÌæÌæªÔnÌ`FbN
+$	// タスクのスタック領域の先頭番地のチェック
 	$tinib = SYMBOL("_kernel_tinib_table")$
 	$FOREACH tskid TSK.ID_LIST$
@@ -167,5 +163,5 @@
 	$END$
 
-$	// ñ^XNReLXgpÌX^bNÌæÌæªÔnÌ`FbN
+$	// 非タスクコンテキスト用のスタック領域の先頭番地のチェック
 	$istk = PEEK(SYMBOL("_kernel_istk"), sizeof_void_ptr)$
 	$IF CHECK_STACK_ALIGN && (istk & (CHECK_STACK_ALIGN - 1)) != 0$
@@ -182,8 +178,8 @@
 
 $ 
-$  Åè·v[ÌæÌæªÔnÌ`FbN
+$  固定長メモリプール領域の先頭番地のチェック
 $ 
 $IF CHECK_MPF_ALIGN || CHECK_MPF_NONNULL$
-$	// Åè·v[ÌæÌæªÔnÌ`FbN
+$	// 固定長メモリプール領域の先頭番地のチェック
 	$mpfinib = SYMBOL("_kernel_mpfinib_table")$
 	$FOREACH mpfid MPF.ID_LIST$
@@ -204,8 +200,8 @@
 
 $ 
-$  J[lªèt¯éÌæÌæªÔnÌ`FbN
+$  カーネルが割り付けるメモリ領域の先頭番地のチェック
 $ 
 $IF CHECK_MB_ALIGN$
-$	// J[lªèt¯éÌæÌæªÔnÌ`FbN
+$	// カーネルが割り付けるメモリ領域の先頭番地のチェック
 	$kmm = PEEK(SYMBOL("_kernel_kmm"), sizeof_void_ptr)$
 	$IF CHECK_MB_ALIGN && (kmm & (CHECK_MB_ALIGN - 1)) != 0$
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_impl.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,12 +42,12 @@
 
 /*
- *		TOPPERS/ASPJ[làü¯Wwb_t@C
- *
- *  ±Ìwb_t@CÍCJ[lð\¬·évOÌ\[Xt@C
- *  ÅK¸CN[h·é×«Wwb_t@CÅ éD
- *
- *  AZu¾êÌ\[Xt@C©ç±Ìt@CðCN[h·é
- *  ÍCTOPPERS_MACRO_ONLYðè`µÄ¨­D±êÉæèC}Nè`ÈOð
- *  ­æ¤ÉÈÁÄ¢éD
+ *		TOPPERS/ASPカーネル内部向け標準ヘッダファイル
+ *
+ *  このヘッダファイルは，カーネルを構成するプログラムのソースファイル
+ *  で必ずインクルードするべき標準ヘッダファイルである．
+ *
+ *  アセンブリ言語のソースファイルからこのファイルをインクルードする時
+ *  は，TOPPERS_MACRO_ONLYを定義しておく．これにより，マクロ定義以外を
+ *  除くようになっている．
  */
 
@@ -60,20 +56,20 @@
 
 /*
- *  J[lÌà¯Ê¼Ìl[
+ *  カーネルの内部識別名のリネーム
  */
 #include "kernel_rename.h"
 
 /*
- *  AvP[VÆ¤ÊÌwb_t@C
+ *  アプリケーションと共通のヘッダファイル
  */
 #include <kernel.h>
 
 /*
- *  VXeO@\Ì½ßÌè`
+ *  システムログ機能のための定義
  */
 #include <t_syslog.h>
 
 /*
- *  ^LXgðs¤}NÌè`
+ *  型キャストを行うマクロの定義
  */
 #ifndef CAST
@@ -82,10 +78,10 @@
 
 /*
- *  ^[QbgË¶îñÌè`
+ *  ターゲット依存情報の定義
  */
 #include "target_config.h"
 
 /*
- *  ·×ÄÌÖðRpC·é½ßÌè`
+ *  すべての関数をコンパイルするための定義
  */
 #ifdef ALLFUNC
@@ -94,11 +90,11 @@
 
 /*
- *  rbgtB[hÅÌ³µ®^
- *
- *  8rbgÈºÌÌrbgtB[hÅC³µ®lðÛµ½¢ê
- *  Ép¢é×«f[^^DANSI CÅÍCrbgtB[hÌf[^^ÉÍ
- *  intÆunsigned intµ©³êÈ¢½ßCftHgÌè`Íunsigned
- *  intÆµÄ¢éªC^[Qbg¨æÑc[Ë¶ÅCunsigned charÜ½Í
- *  unsigned shortÉè`µ½ûªø¦ªÇ¢êª éD
+ *  ビットフィールドでの符号無し整数型
+ *
+ *  8ビット以下の幅のビットフィールドで，符号無し整数値を保持したい場合
+ *  に用いるべきデータ型．ANSI Cでは，ビットフィールドのデータ型には
+ *  intとunsigned intしか許されないため，デフォルトの定義はunsigned
+ *  intとしているが，ターゲットおよびツール依存で，unsigned charまたは
+ *  unsigned shortに定義した方が効率が良い場合がある．
  */
 #ifndef BIT_FIELD_UINT
@@ -107,9 +103,9 @@
 
 /*
- *  rbgtB[hÅÌu[^
- *
- *  1rbgÌrbgtB[hÅCu[lðÛµ½¢êÉp¢é×«
- *  f[^^DftHgÅÍBIT_FIELD_UINTÆ¯êÉè`µÄ¢éªCu[
- *  lðÛ·é±Æð¾¦·é½ßÉÊÌ¼ÌÆµÄ¢éD
+ *  ビットフィールドでのブール型
+ *
+ *  1ビット幅のビットフィールドで，ブール値を保持したい場合に用いるべき
+ *  データ型．デフォルトではBIT_FIELD_UINTと同一に定義しているが，ブー
+ *  ル値を保持することを明示するために別の名称としている．
  */
 #ifndef BIT_FIELD_BOOL
@@ -118,21 +114,19 @@
 
 /*
- *  IuWFNgIDÌÅ¬lÌè`
- */
-#define TMIN_TSKID		1		/* ^XNIDÌÅ¬l */
-#define TMIN_SEMID		1		/* Z}tHIDÌÅ¬l */
-#define TMIN_FLGID		1		/* tOIDÌÅ¬l */
-#define TMIN_DTQID		1		/* f[^L
-[IDÌÅ¬l */
-#define TMIN_PDQID		1		/* Dæxf[^L
-[IDÌÅ¬l */
-#define TMIN_MBXID		1		/* [{bNXIDÌÅ¬l */
-#define TMIN_MPFID		1		/* Åè·v[IDÌÅ¬l */
-#define TMIN_CYCID		1		/* üúnhIDÌÅ¬l */
-#define TMIN_ALMID		1		/* A[nhIDÌÅ¬l */
-#define TMIN_ISRID		1		/* ÝT[rX[`IDÌÅ¬l */
-
-/*
- *  DæxÌiKÌè`
+ *  オブジェクトIDの最小値の定義
+ */
+#define TMIN_TSKID		1		/* タスクIDの最小値 */
+#define TMIN_SEMID		1		/* セマフォIDの最小値 */
+#define TMIN_FLGID		1		/* フラグIDの最小値 */
+#define TMIN_DTQID		1		/* データキューIDの最小値 */
+#define TMIN_PDQID		1		/* 優先度データキューIDの最小値 */
+#define TMIN_MBXID		1		/* メールボックスIDの最小値 */
+#define TMIN_MPFID		1		/* 固定長メモリプールIDの最小値 */
+#define TMIN_CYCID		1		/* 周期ハンドラIDの最小値 */
+#define TMIN_ALMID		1		/* アラームハンドラIDの最小値 */
+#define TMIN_ISRID		1		/* 割込みサービスルーチンIDの最小値 */
+
+/*
+ *  優先度の段階数の定義
  */
 #define TNUM_TPRI		(TMAX_TPRI - TMIN_TPRI + 1)
@@ -141,80 +135,78 @@
 
 /*
- *  J[làÅgp·é®«Ìè`
- */
-#define TA_NOEXS		((ATR)(-1))			/* ¢o^óÔ */
+ *  カーネル内部で使用する属性の定義
+ */
+#define TA_NOEXS		((ATR)(-1))			/* 未登録状態 */
 
 #ifndef TA_MEMALLOC
-#define TA_MEMALLOC		UINT_C(0x8000)		/* ÌæðJ[lÅmÛ */
+#define TA_MEMALLOC		UINT_C(0x8000)		/* メモリ領域をカーネルで確保 */
 #endif /* TA_MEMALLOC */
 #ifndef TA_MBALLOC
-#define TA_MBALLOC		UINT_C(0x4000)		/* ÇÌæðJ[lÅmÛ */
+#define TA_MBALLOC		UINT_C(0x4000)		/* 管理領域をカーネルで確保 */
 #endif /* TA_MBALLOC */
 
 /*
- *  ^[Qbgè`ÌG[`FbN}NÌftHglÌè`
+ *  ターゲット定義のエラーチェックマクロのデフォルト値の定義
  */
 #ifndef TARGET_TSKATR
-#define TARGET_TSKATR		0U		/* ^[Qbgè`Ì^XN®« */
+#define TARGET_TSKATR		0U		/* ターゲット定義のタスク属性 */
 #endif /* TARGET_TSKATR */
 
 #ifndef TARGET_ISRATR
-#define TARGET_ISRATR		0U		/* ^[Qbgè`ÌISR®« */
+#define TARGET_ISRATR		0U		/* ターゲット定義のISR属性 */
 #endif /* TARGET_ISRATR */
 
 /*
- *  wb_t@Cð½È¢W
-[ÌÖEÏÌé¾
+ *  ヘッダファイルを持たないモジュールの関数・変数の宣言
  */
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  eW
-[Ìú»ikernel_cfg.cj
+ *  各モジュールの初期化（kernel_cfg.c）
  */
 extern void	initialize_object(void);
 
 /*
- *  ú»[`ÌÀsikernel_cfg.cj
+ *  初期化ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_inirtn(void);
 
 /*
- *  I¹[`ÌÀsikernel_cfg.cj
+ *  終了処理ルーチンの実行（kernel_cfg.c）
  */
 extern void	call_terrtn(void);
 
 /*
- *  ñ^XNReLXgpÌX^bNÌæikernel_cfg.cj
- */
-extern const SIZE	istksz;		/* X^bNÌæÌTCYiÛß½lj */
-extern STK_T *const	istk;		/* X^bNÌæÌæªÔn */
+ *  非タスクコンテキスト用のスタック領域（kernel_cfg.c）
+ */
+extern const SIZE	istksz;		/* スタック領域のサイズ（丸めた値） */
+extern STK_T *const	istk;		/* スタック領域の先頭番地 */
 #ifdef TOPPERS_ISTKPT
-extern STK_T *const	istkpt;		/* X^bN|C^Ìúl */
+extern STK_T *const	istkpt;		/* スタックポインタの初期値 */
 #endif /* TOPPERS_ISTKPT */
 
 /*
- *  J[lªèt¯éÌæikernel_cfg.cj
- */
-extern const SIZE	kmmsz;		/* J[lªèt¯éÌæÌTCY */
-extern MB_T *const	kmm;		/* J[lªèt¯éÌæÌæªÔn */
-
-/*
- *  J[l®ìóÔtOistartup.cj
+ *  カーネルが割り付けるメモリ領域（kernel_cfg.c）
+ */
+extern const SIZE	kmmsz;		/* カーネルが割り付けるメモリ領域のサイズ */
+extern MB_T *const	kmm;		/* カーネルが割り付けるメモリ領域の先頭番地 */
+
+/*
+ *  カーネル動作状態フラグ（startup.c）
  */
 extern bool_t	kerflg;
 
 /*
- *  J[lÌN®istartup.cj
+ *  カーネルの起動（startup.c）
  */
 extern void	sta_ker(void);
 
 /*
- *  J[lÌI¹istartup.cj
+ *  カーネルの終了処理（startup.c）
  */
 extern void	exit_kernel(void);
 
 /*
- *  J[lÌèt¯éÌæÌÇistartup.cj
+ *  カーネルの割り付けるメモリ領域の管理（startup.c）
  */
 extern void initialize_kmm(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/kernel_int.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		kernel_cfg.ci¨æÑcfg1_out.cjpwb_t@C
+ *		kernel_cfg.c（およびcfg1_out.c）用ヘッダファイル
  */
 
@@ -53,10 +49,10 @@
 
 /*
- *  J[lWwb_t@C
+ *  カーネル標準ヘッダファイル
  */
 #include "kernel_impl.h"
 
 /*
- *  J[lÌewb_t@C
+ *  カーネルの各ヘッダファイル
  */
 #include "task.h"
@@ -74,5 +70,5 @@
 
 /*
- *  l[µ½V{ð³Éß·½ßÌwb_t@C
+ *  リネームしたシンボルを元に戻すためのヘッダファイル
  */
 #include "kernel_unrename.h"
Index: UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mailbox.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		[{bNX@\
+ *		メールボックス機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MBX_ENTER
@@ -123,5 +119,5 @@
 
 /*
- *  [{bNXÌ
+ *  メールボックスの数
  */
 #define tnum_mbx	((uint_t)(tmax_mbxid - TMIN_MBXID + 1))
@@ -129,5 +125,5 @@
 
 /*
- *  [{bNXID©ç[{bNXÇubNðæèo·½ßÌ}N
+ *  メールボックスIDからメールボックス管理ブロックを取り出すためのマクロ
  */
 #define INDEX_MBX(mbxid)	((uint_t)((mbxid) - TMIN_MBXID))
@@ -137,10 +133,10 @@
 
 /*
- *  gpµÄ¢È¢[{bNXÇubNÌXg
+ *  使用していないメールボックス管理ブロックのリスト
  */
 QUEUE	free_mbxcb;
 
 /* 
- *  [{bNX@\Ìú»
+ *  メールボックス機能の初期化
  */
 void
@@ -170,11 +166,10 @@
 
 /*
- *  bZ[WDæxÌæoµ
+ *  メッセージ優先度の取出し
  */
 #define	MSGPRI(pk_msg)	(((T_MSG_PRI *)(pk_msg))->msgpri)
 
 /*
- *  DæxbZ[WL
-[ÖÌ}ü
+ *  優先度順メッセージキューへの挿入
  */
 Inline void
@@ -194,5 +189,5 @@
 
 /*
- *  [{bNXÌ¶¬
+ *  メールボックスの生成
  */
 #ifdef TOPPERS_acre_mbx
@@ -235,5 +230,5 @@
 
 /*
- *  [{bNXÌí
+ *  メールボックスの削除
  */
 #ifdef TOPPERS_del_mbx
@@ -279,5 +274,5 @@
 
 /*
- *  [{bNXÖÌM
+ *  メールボックスへの送信
  */
 #ifdef TOPPERS_snd_mbx
@@ -337,5 +332,5 @@
 
 /*
- *  [{bNX©çÌóM
+ *  メールボックスからの受信
  */
 #ifdef TOPPERS_rcv_mbx
@@ -381,5 +376,5 @@
 
 /*
- *  [{bNX©çÌóMi|[Oj
+ *  メールボックスからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_mbx
@@ -418,5 +413,5 @@
 
 /*
- *  [{bNX©çÌóMi^CAEg èj
+ *  メールボックスからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_mbx
@@ -468,5 +463,5 @@
 
 /*
- *  [{bNXÌÄú»
+ *  メールボックスの再初期化
  */
 #ifdef TOPPERS_ini_mbx
@@ -506,5 +501,5 @@
 
 /*
- *  [{bNXÌóÔQÆ
+ *  メールボックスの状態参照
  */
 #ifdef TOPPERS_ref_mbx
Index: UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mailbox.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		[{bNX@\
+ *		メールボックス機能
  */
 
@@ -55,56 +51,53 @@
 
 /*
- *  [{bNXú»ubN
+ *  メールボックス初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct mailbox_initialization_block {
-	ATR			mbxatr;			/* [{bNX®« */
-	PRI			maxmpri;		/* bZ[WDæxÌÅål */
+	ATR			mbxatr;			/* メールボックス属性 */
+	PRI			maxmpri;		/* メッセージ優先度の最大値 */
 } MBXINIB;
 
 /*
- *  [{bNXÇubN
+ *  メールボックス管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  *
- *  bZ[WL
-[ªbZ[WÌDæxÌêÉÍCpk_lastÍgíÈ
- *  ¢DÜ½CbZ[WL
-[ªóÌêipk_headªNULLÌêjÉàC
- *  pk_lastÍ³øÅ éD
+ *  メッセージキューがメッセージの優先度順の場合には，pk_lastは使わな
+ *  い．また，メッセージキューが空の場合（pk_headがNULLの場合）にも，
+ *  pk_lastは無効である．
  */
 typedef struct mailbox_control_block {
-	QUEUE		wait_queue;		/* [{bNXÒ¿L
-[ */
-	const MBXINIB *p_mbxinib;	/* ú»ubNÖÌ|C^ */
-	T_MSG		*pk_head;		/* æªÌbZ[W */
-	T_MSG		*pk_last;		/* öÌbZ[W */
+	QUEUE		wait_queue;		/* メールボックス待ちキュー */
+	const MBXINIB *p_mbxinib;	/* 初期化ブロックへのポインタ */
+	T_MSG		*pk_head;		/* 先頭のメッセージ */
+	T_MSG		*pk_last;		/* 末尾のメッセージ */
 } MBXCB;
 
 /*
- *  [{bNXÒ¿îñubNÌè`
+ *  メールボックス待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct mailbox_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	MBXCB		*p_mbxcb;		/* ÒÁÄ¢é[{bNXÌÇubN */
-	T_MSG		*pk_msg;		/* óMµ½bZ[W */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	MBXCB		*p_mbxcb;		/* 待っているメールボックスの管理ブロック */
+	T_MSG		*pk_msg;		/* 受信したメッセージ */
 } WINFO_MBX;
 
 /*
- *  gpµÄ¢È¢[{bNXÇubNÌXg
+ *  使用していないメールボックス管理ブロックのリスト
  */
 extern QUEUE	free_mbxcb;
 
 /*
- *  [{bNXIDÌÅålikernel_cfg.cj
+ *  メールボックスIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mbxid;
@@ -112,5 +105,5 @@
 
 /*
- *  [{bNXú»ubNÌGAikernel_cfg.cj
+ *  メールボックス初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MBXINIB	mbxinib_table[];
@@ -118,15 +111,15 @@
 
 /*
- *  [{bNXÇubNÌGAikernel_cfg.cj
+ *  メールボックス管理ブロックのエリア（kernel_cfg.c）
  */
 extern MBXCB	mbxcb_table[];
 
 /*
- *  [{bNXÇubN©ç[{bNXIDðæèo·½ßÌ}N
+ *  メールボックス管理ブロックからメールボックスIDを取り出すためのマクロ
  */
 #define	MBXID(p_mbxcb)	((ID)(((p_mbxcb) - mbxcb_table) + TMIN_MBXID))
 
 /*
- *  [{bNX@\Ìú»
+ *  メールボックス機能の初期化
  */
 extern void	initialize_mailbox(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mempfix.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		Åè·v[@\
+ *		固定長メモリプール機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_MPF_ENTER
@@ -123,5 +119,5 @@
 
 /*
- *  Åè·v[Ì
+ *  固定長メモリプールの数
  */
 #define tnum_mpf	((uint_t)(tmax_mpfid - TMIN_MPFID + 1))
@@ -129,6 +125,6 @@
 
 /*
- *  Åè·v[ID©çÅè·v[ÇubNðæèo·½
- *  ßÌ}N
+ *  固定長メモリプールIDから固定長メモリプール管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_MPF(mpfid)	((uint_t)((mpfid) - TMIN_MPFID))
@@ -136,18 +132,18 @@
 
 /*
- *  ÁêÈCfbNXlÌè`
- */
-#define INDEX_NULL		(~0U)		/* ó«ubNXgÌÅã */
-#define INDEX_ALLOC		(~1U)		/* ÄÏÝÌubN */
+ *  特殊なインデックス値の定義
+ */
+#define INDEX_NULL		(~0U)		/* 空きブロックリストの最後 */
+#define INDEX_ALLOC		(~1U)		/* 割当て済みのブロック */
 
 #ifdef TOPPERS_mpfini
 
 /*
- *  gpµÄ¢È¢Åè·v[ÇubNÌXg
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 QUEUE	free_mpfcb;
 
 /* 
- *  Åè·v[@\Ìú»
+ *  固定長メモリプール機能の初期化
  */
 void
@@ -179,5 +175,5 @@
 
 /*
- *  Åè·v[©çubNðl¾
+ *  固定長メモリプールからブロックを獲得
  */
 #ifdef TOPPERS_mpfget
@@ -205,5 +201,5 @@
 
 /*
- *  Åè·v[Ì¶¬
+ *  固定長メモリプールの生成
  */
 #ifdef TOPPERS_acre_mpf
@@ -284,5 +280,5 @@
 
 /*
- *  Åè·v[Ìí
+ *  固定長メモリプールの削除
  */
 #ifdef TOPPERS_del_mpf
@@ -334,5 +330,5 @@
 
 /*
- *  Åè·ubNÌl¾
+ *  固定長メモリブロックの獲得
  */
 #ifdef TOPPERS_get_mpf
@@ -377,5 +373,5 @@
 
 /*
- *  Åè·ubNÌl¾i|[Oj
+ *  固定長メモリブロックの獲得（ポーリング）
  */
 #ifdef TOPPERS_pget_mpf
@@ -413,5 +409,5 @@
 
 /*
- *  Åè·ubNÌl¾i^CAEg èj
+ *  固定長メモリブロックの獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_tget_mpf
@@ -462,5 +458,5 @@
 
 /*
- *  Åè·ubNÌÔp
+ *  固定長メモリブロックの返却
  */
 #ifdef TOPPERS_rel_mpf
@@ -519,5 +515,5 @@
 
 /*
- *  Åè·v[ÌÄú»
+ *  固定長メモリプールの再初期化
  */
 #ifdef TOPPERS_ini_mpf
@@ -559,5 +555,5 @@
 
 /*
- *  Åè·v[ÌóÔQÆ
+ *  固定長メモリプールの状態参照
  */
 #ifdef TOPPERS_ref_mpf
Index: UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/mempfix.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		Åè·v[@\
+ *		固定長メモリプール機能
  */
 
@@ -55,65 +51,64 @@
 
 /*
- *  Åè·ubNÇubN
+ *  固定長メモリブロック管理ブロック
  *
- *  nexttB[hÉÍCubNªÄÏÝÌêÍINDEX_ALLOCðC
- *  ¢ÄÌêÍÌ¢ÄubNÌCfbNXÔði[·éD
- *  ÅãÌ¢ÄubNÌêÉÍCINDEX_NULLði[·éD
+ *  nextフィールドには，メモリブロックが割当て済みの場合はINDEX_ALLOCを，
+ *  未割当ての場合は次の未割当てブロックのインデックス番号を格納する．
+ *  最後の未割当てブロックの場合には，INDEX_NULLを格納する．
  */
 typedef struct fixed_memoryblock_management_block {
-	uint_t		next;			/* Ì¢ÄubN */
+	uint_t		next;			/* 次の未割当てブロック */
 } MPFMB;
 
 /*
- *  Åè·v[ú»ubN
+ *  固定長メモリプール初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_initialization_block {
-	ATR			mpfatr;			/* Åè·v[®« */
-	uint_t		blkcnt;			/* ubN */
-	uint_t		blksz;			/* ubNÌTCYiÛß½lj */
-	void		*mpf;			/* Åè·v[ÌæÌæªÔn */
-	MPFMB		*p_mpfmb;		/* Åè·v[ÇÌæÌæªÔn */
+	ATR			mpfatr;			/* 固定長メモリプール属性 */
+	uint_t		blkcnt;			/* メモリブロック数 */
+	uint_t		blksz;			/* メモリブロックのサイズ（丸めた値） */
+	void		*mpf;			/* 固定長メモリプール領域の先頭番地 */
+	MPFMB		*p_mpfmb;		/* 固定長メモリプール管理領域の先頭番地 */
 } MPFINIB;
 
 /*
- *  Åè·v[ÇubN
+ *  固定長メモリプール管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct fixed_memorypool_control_block {
-	QUEUE		wait_queue;		/* Åè·v[Ò¿L
-[ */
-	const MPFINIB *p_mpfinib;	/* ú»ubNÖÌ|C^ */
-	uint_t		fblkcnt;		/* ¢ÄubN */
-	uint_t		unused;			/* ¢gpubNÌæª */
-	uint_t		freelist;		/* ¢ÄubNÌXg */
+	QUEUE		wait_queue;		/* 固定長メモリプール待ちキュー */
+	const MPFINIB *p_mpfinib;	/* 初期化ブロックへのポインタ */
+	uint_t		fblkcnt;		/* 未割当てブロック数 */
+	uint_t		unused;			/* 未使用ブロックの先頭 */
+	uint_t		freelist;		/* 未割当てブロックのリスト */
 } MPFCB;
 
 /*
- *  Åè·v[Ò¿îñubNÌè`
+ *  固定長メモリプール待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
  */
 typedef struct fixed_memorypool_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	MPFCB		*p_mpfcb;		/* ÒÁÄ¢éÅè·v[ÌÇubN*/
-	void		*blk;			/* l¾µ½ubN */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	MPFCB		*p_mpfcb;		/* 待っている固定長メモリプールの管理ブロック*/
+	void		*blk;			/* 獲得したメモリブロック */
 } WINFO_MPF;
 
 /*
- *  gpµÄ¢È¢Åè·v[ÇubNÌXg
+ *  使用していない固定長メモリプール管理ブロックのリスト
  */
 extern QUEUE	free_mpfcb;
 
 /*
- *  Åè·v[IDÌÅålikernel_cfg.cj
+ *  固定長メモリプールIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_mpfid;
@@ -121,5 +116,5 @@
 
 /*
- *  Åè·v[ú»ubNÌGAikernel_cfg.cj
+ *  固定長メモリプール初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const MPFINIB	mpfinib_table[];
@@ -127,21 +122,21 @@
 
 /*
- *  Åè·v[ÇubNÌGAikernel_cfg.cj
+ *  固定長メモリプール管理ブロックのエリア（kernel_cfg.c）
  */
 extern MPFCB	mpfcb_table[];
 
 /*
- *  Åè·v[ÇubN©çÅè·v[IDðæèo·½
- *  ßÌ}N
+ *  固定長メモリプール管理ブロックから固定長メモリプールIDを取り出すた
+ *  めのマクロ
  */
 #define	MPFID(p_mpfcb)	((ID)(((p_mpfcb) - mpfcb_table) + TMIN_MPFID))
 
 /*
- *  Åè·v[@\Ìú»
+ *  固定長メモリプール機能の初期化
  */
 extern void	initialize_mempfix(void);
 
 /*
- *  Åè·v[©çubNðl¾
+ *  固定長メモリプールからブロックを獲得
  */
 extern void	get_mpf_block(MPFCB *p_mpfcb, void **p_blk);
Index: UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/pridataq.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		Dæxf[^L
-[@\
+ *		優先度データキュー機能
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_PDQ_ENTER
@@ -148,6 +143,5 @@
 
 /*
- *  Dæxf[^L
-[Ì
+ *  優先度データキューの数
  */
 #define tnum_pdq	((uint_t)(tmax_pdqid - TMIN_PDQID + 1))
@@ -155,8 +149,6 @@
 
 /*
- *  Dæxf[^L
-[ID©çDæxf[^L
-[ÇubNðæèo·½
- *  ßÌ}N
+ *  優先度データキューIDから優先度データキュー管理ブロックを取り出すた
+ *  めのマクロ
  */
 #define INDEX_PDQ(pdqid)	((uint_t)((pdqid) - TMIN_PDQID))
@@ -166,12 +158,10 @@
 
 /*
- *  gpµÄ¢È¢Dæxf[^L
-[ÇubNÌXg
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 QUEUE	free_pdqcb;
 
 /*
- *  Dæxf[^L
-[@\Ìú»
+ *  優先度データキュー機能の初期化
  */
 void
@@ -205,6 +195,5 @@
 
 /*
- *  Dæxf[^L
-[ÇÌæÖÌf[^Ìi[
+ *  優先度データキュー管理領域へのデータの格納
  */
 #ifdef TOPPERS_pdqenq
@@ -243,6 +232,5 @@
 
 /*
- *  Dæxf[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  優先度データキュー管理領域からのデータの取出し
  */
 #ifdef TOPPERS_pdqdeq
@@ -267,6 +255,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌf[^M
+ *  優先度データキューへのデータ送信
  */
 #ifdef TOPPERS_pdqsnd
@@ -297,6 +284,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌf[^óM
+ *  優先度データキューからのデータ受信
  */
 #ifdef TOPPERS_pdqrcv
@@ -339,6 +325,5 @@
 
 /*
- *  Dæxf[^L
-[Ì¶¬
+ *  優先度データキューの生成
  */
 #ifdef TOPPERS_acre_pdq
@@ -402,6 +387,5 @@
 
 /*
- *  Dæxf[^L
-[Ìí
+ *  優先度データキューの削除
  */
 #ifdef TOPPERS_del_pdq
@@ -453,6 +437,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌM
+ *  優先度データキューへの送信
  */
 #ifdef TOPPERS_snd_pdq
@@ -503,6 +486,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi|[Oj
+ *  優先度データキューへの送信（ポーリング）
  */
 #ifdef TOPPERS_psnd_pdq
@@ -547,6 +529,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi|[OCñ^XNReLXgpj
+ *  優先度データキューへの送信（ポーリング，非タスクコンテキスト用）
  */
 #ifdef TOPPERS_ipsnd_pdq
@@ -591,6 +572,5 @@
 
 /*
- *  Dæxf[^L
-[ÖÌMi^CAEg èj
+ *  優先度データキューへの送信（タイムアウトあり）
  */
 #ifdef TOPPERS_tsnd_pdq
@@ -647,6 +627,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóM
+ *  優先度データキューからの受信
  */
 #ifdef TOPPERS_rcv_pdq
@@ -698,6 +677,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóMi|[Oj
+ *  優先度データキューからの受信（ポーリング）
  */
 #ifdef TOPPERS_prcv_pdq
@@ -738,6 +716,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌóMi^CAEg èj
+ *  優先度データキューからの受信（タイムアウトあり）
  */
 #ifdef TOPPERS_trcv_pdq
@@ -794,6 +771,5 @@
 
 /*
- *  Dæxf[^L
-[ÌÄú»
+ *  優先度データキューの再初期化
  */
 #ifdef TOPPERS_ini_pdq
@@ -839,6 +815,5 @@
 
 /*
- *  Dæxf[^L
-[ÌóÔQÆ
+ *  優先度データキューの状態参照
  */
 #ifdef TOPPERS_ref_pdq
Index: UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/pridataq.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		Dæxf[^L
-[@\
+ *		優先度データキュー機能
  */
 
@@ -56,84 +51,68 @@
 
 /*
- *  Dæxf[^ÇubN
+ *  優先度データ管理ブロック
  */
 typedef struct pridata_management_block PDQMB;
 
 struct pridata_management_block {
-	PDQMB		*p_next;		/* Ìf[^ */
-	intptr_t	data;			/* f[^{Ì */
-	PRI			datapri;		/* f[^Dæx */
+	PDQMB		*p_next;		/* 次のデータ */
+	intptr_t	data;			/* データ本体 */
+	PRI			datapri;		/* データ優先度 */
 };
 
 /*
- *  Dæxf[^L
-[ú»ubN
+ *  優先度データキュー初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct pridataq_initialization_block {
-	ATR			pdqatr;			/* Dæxf[^L
-[®« */
-	uint_t		pdqcnt;			/* Dæxf[^L
-[ÌeÊ */
-	PRI			maxdpri;		/* f[^DæxÌÅål */
-	PDQMB		*p_pdqmb;		/* Dæxf[^L
-[ÇÌæÌæªÔn */
+	ATR			pdqatr;			/* 優先度データキュー属性 */
+	uint_t		pdqcnt;			/* 優先度データキューの容量 */
+	PRI			maxdpri;		/* データ優先度の最大値 */
+	PDQMB		*p_pdqmb;		/* 優先度データキュー管理領域の先頭番地 */
 } PDQINIB;
 
 /*
- *  Dæxf[^L
-[ÇubN
+ *  優先度データキュー管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct pridataq_control_block {
-	QUEUE		swait_queue;	/* Dæxf[^L
-[MÒ¿L
-[ */
-	const PDQINIB *p_pdqinib;	/* ú»ubNÖÌ|C^ */
-	QUEUE		rwait_queue;	/* Dæxf[^L
-[óMÒ¿L
-[ */
-	uint_t		count;			/* Dæxf[^L
-[Ìf[^Ì */
-	PDQMB		*p_head;		/* ÅÌf[^ */
-	uint_t		unused;			/* ¢gpf[^ÇubNÌæª */
-	PDQMB		*p_freelist;	/* ¢Äf[^ÇubNÌXg */
+	QUEUE		swait_queue;	/* 優先度データキュー送信待ちキュー */
+	const PDQINIB *p_pdqinib;	/* 初期化ブロックへのポインタ */
+	QUEUE		rwait_queue;	/* 優先度データキュー受信待ちキュー */
+	uint_t		count;			/* 優先度データキュー中のデータの数 */
+	PDQMB		*p_head;		/* 最初のデータ */
+	uint_t		unused;			/* 未使用データ管理ブロックの先頭 */
+	PDQMB		*p_freelist;	/* 未割当てデータ管理ブロックのリスト */
 } PDQCB;
 
 /*
- *  Dæxf[^L
-[Ò¿îñubNÌè`
+ *  優先度データキュー待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌ2ÂÌtB[hª¤ÊÉÈÁÄ¢éD
- *  Dæxf[^L
-[ÖÌMÒ¿ÆDæxf[^L
-[©çÌóMÒ¿ÅC
- *  ¯¶Ò¿îñubNðg¤D
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初の2つのフィールドが共通になっている．
+ *  優先度データキューへの送信待ちと優先度データキューからの受信待ちで，
+ *  同じ待ち情報ブロックを使う．
  */
 typedef struct pridataq_waiting_information {
-	WINFO		winfo;			/* WÌÒ¿îñubN */
-	PDQCB		*p_pdqcb;		/* ÒÁÄ¢éDæxf[^L
-[ÌÇubN*/
-	intptr_t	data;			/* óMf[^ */
-	PRI			datapri;		/* f[^Dæx */
+	WINFO		winfo;			/* 標準の待ち情報ブロック */
+	PDQCB		*p_pdqcb;		/* 待っている優先度データキューの管理ブロック*/
+	intptr_t	data;			/* 送受信データ */
+	PRI			datapri;		/* データ優先度 */
 } WINFO_PDQ;
 
 /*
- *  gpµÄ¢È¢Dæxf[^L
-[ÇubNÌXg
+ *  使用していない優先度データキュー管理ブロックのリスト
  */
 extern QUEUE	free_pdqcb;
 
 /*
- *  Dæxf[^L
-[IDÌÅålikernel_cfg.cj
+ *  優先度データキューIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_pdqid;
@@ -141,6 +120,5 @@
 
 /*
- *  Dæxf[^L
-[ú»ubNÌGAikernel_cfg.cj
+ *  優先度データキュー初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const PDQINIB	pdqinib_table[];
@@ -148,38 +126,31 @@
 
 /*
- *  Dæxf[^L
-[ÇubNÌGAikernel_cfg.cj
+ *  優先度データキュー管理ブロックのエリア（kernel_cfg.c）
  */
 extern PDQCB	pdqcb_table[];
 
 /*
- *  Dæxf[^L
-[ÇubN©çDæxf[^L
-[IDðæèo·½
- *  ßÌ}N
+ *  優先度データキュー管理ブロックから優先度データキューIDを取り出すた
+ *  めのマクロ
  */
 #define	PDQID(p_pdqcb)	((ID)(((p_pdqcb) - pdqcb_table) + TMIN_PDQID))
 
 /*
- *  Dæxf[^L
-[@\Ìú»
+ *  優先度データキュー機能の初期化
  */
 extern void	initialize_pridataq(void);
 
 /*
- *  Dæxf[^L
-[ÇÌæÖÌf[^Ìi[
+ *  優先度データキュー管理領域へのデータの格納
  */
 extern void	enqueue_pridata(PDQCB *p_pdqcb, intptr_t data, PRI datapri);
 
 /*
- *  Dæxf[^L
-[ÇÌæ©çÌf[^Ìæoµ
+ *  優先度データキュー管理領域からのデータの取出し
  */
 extern void	dequeue_pridata(PDQCB *p_pdqcb, intptr_t *p_data, PRI *p_datapri);
 
 /*
- *  Dæxf[^L
-[ÖÌf[^M
+ *  優先度データキューへのデータ送信
  */
 extern bool_t	send_pridata(PDQCB *p_pdqcb, intptr_t data,
@@ -187,6 +158,5 @@
 
 /*
- *  Dæxf[^L
-[©çÌf[^óM
+ *  優先度データキューからのデータ受信
  */
 extern bool_t	receive_pridata(PDQCB *p_pdqcb, intptr_t *p_data,
Index: UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/semaphore.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		Z}tH@\
+ *		セマフォ機能
  */
 
@@ -56,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_SEM_ENTER
@@ -131,5 +127,5 @@
 
 /*
- *  Z}tHÌ
+ *  セマフォの数
  */
 #define tnum_sem	((uint_t)(tmax_semid - TMIN_SEMID + 1))
@@ -137,5 +133,5 @@
 
 /*
- *  Z}tHID©çZ}tHÇubNðæèo·½ßÌ}N
+ *  セマフォIDからセマフォ管理ブロックを取り出すためのマクロ
  */
 #define INDEX_SEM(semid)	((uint_t)((semid) - TMIN_SEMID))
@@ -145,10 +141,10 @@
 
 /*
- *  gpµÄ¢È¢Z}tHÇubNÌXg
+ *  使用していないセマフォ管理ブロックのリスト
  */
 QUEUE	free_semcb;
 
 /* 
- *  Z}tH@\Ìú»
+ *  セマフォ機能の初期化
  */
 void
@@ -178,5 +174,5 @@
 
 /*
- *  Z}tHÌ¶¬
+ *  セマフォの生成
  */
 #ifdef TOPPERS_acre_sem
@@ -220,5 +216,5 @@
 
 /*
- *  Z}tHÌí
+ *  セマフォの削除
  */
 #ifdef TOPPERS_del_sem
@@ -264,5 +260,5 @@
 
 /*
- *  Z}tH¹ÌÔp
+ *  セマフォ資源の返却
  */
 #ifdef TOPPERS_sig_sem
@@ -308,5 +304,5 @@
 
 /*
- *  Z}tH¹ÌÔpiñ^XNReLXgpj
+ *  セマフォ資源の返却（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_isig_sem
@@ -352,5 +348,5 @@
 
 /*
- *  Z}tH¹Ìl¾
+ *  セマフォ資源の獲得
  */
 #ifdef TOPPERS_wai_sem
@@ -392,5 +388,5 @@
 
 /*
- *  Z}tH¹Ìl¾i|[Oj
+ *  セマフォ資源の獲得（ポーリング）
  */
 #ifdef TOPPERS_pol_sem
@@ -428,5 +424,5 @@
 
 /*
- *  Z}tH¹Ìl¾i^CAEg èj
+ *  セマフォ資源の獲得（タイムアウトあり）
  */
 #ifdef TOPPERS_twai_sem
@@ -474,5 +470,5 @@
 
 /*
- *  Z}tHÌÄú»
+ *  セマフォの再初期化
  */
 #ifdef TOPPERS_ini_sem
@@ -512,5 +508,5 @@
 
 /*
- *  Z}tHÌóÔQÆ
+ *  セマフォの状態参照
  */
 #ifdef TOPPERS_ref_sem
Index: UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/semaphore.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		Z}tH@\
+ *		セマフォ機能
  */
 
@@ -55,49 +51,48 @@
 
 /*
- *  Z}tHú»ubN
+ *  セマフォ初期化ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌú»ubNÌ¤Êª
- *  iWOBJINIBjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ÅÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの初期化ブロックの共通部分
+ *  （WOBJINIB）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  最初のフィールドが共通になっている．
  */
 typedef struct semaphore_initialization_block {
-	ATR			sematr;			/* Z}tH®« */
-	uint_t		isemcnt;		/* Z}tHÌ¹Ìúl */
-	uint_t		maxsem;			/* Z}tHÌÅå¹ */
+	ATR			sematr;			/* セマフォ属性 */
+	uint_t		isemcnt;		/* セマフォの資源数の初期値 */
+	uint_t		maxsem;			/* セマフォの最大資源数 */
 } SEMINIB;
 
 /*
- *  Z}tHÇubN
+ *  セマフォ管理ブロック
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÇubNÌ¤ÊªiWOBJCBj
- *  ðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅCÅÌ2ÂÌ
- *  tB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの管理ブロックの共通部分（WOBJCB）
+ *  を拡張（オブジェクト指向言語の継承に相当）したもので，最初の2つの
+ *  フィールドが共通になっている．
  */
 typedef struct semaphore_control_block {
-	QUEUE		wait_queue;		/* Z}tHÒ¿L
-[ */
-	const SEMINIB *p_seminib;	/* ú»ubNÖÌ|C^ */
-	uint_t		semcnt;			/* Z}tH»ÝJEgl */
+	QUEUE		wait_queue;		/* セマフォ待ちキュー */
+	const SEMINIB *p_seminib;	/* 初期化ブロックへのポインタ */
+	uint_t		semcnt;			/* セマフォ現在カウント値 */
 } SEMCB;
 
 /*
- *  Z}tHÒ¿îñubNÌè`
+ *  セマフォ待ち情報ブロックの定義
  *
- *  ±Ì\¢ÌÍC¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *  iWINFO_WOBJjðg£iIuWFNgwü¾êÌp³Éjµ½àÌÅC
- *  ·×ÄÌtB[hª¤ÊÉÈÁÄ¢éD
+ *  この構造体は，同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *  （WINFO_WOBJ）を拡張（オブジェクト指向言語の継承に相当）したもので，
+ *  すべてのフィールドが共通になっている．
  */
 typedef struct semaphore_waiting_information {
-	WINFO	winfo;			/* WÌÒ¿îñubN */
-	SEMCB	*p_semcb;		/* ÒÁÄ¢éZ}tHÌÇubN */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	SEMCB	*p_semcb;		/* 待っているセマフォの管理ブロック */
 } WINFO_SEM;
 
 /*
- *  gpµÄ¢È¢Z}tHÇubNÌXg
+ *  使用していないセマフォ管理ブロックのリスト
  */
 extern QUEUE	free_semcb;
 
 /*
- *  Z}tHIDÌÅålikernel_cfg.cj
+ *  セマフォIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_semid;
@@ -105,5 +100,5 @@
 
 /*
- *  Z}tHú»ubNÌGAikernel_cfg.cj
+ *  セマフォ初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const SEMINIB	seminib_table[];
@@ -111,15 +106,15 @@
 
 /*
- *  Z}tHÇubNÌGAikernel_cfg.cj
+ *  セマフォ管理ブロックのエリア（kernel_cfg.c）
  */
 extern SEMCB	semcb_table[];
 
 /*
- *  Z}tHÇubN©çZ}tHIDðæèo·½ßÌ}N
+ *  セマフォ管理ブロックからセマフォIDを取り出すためのマクロ
  */
 #define	SEMID(p_semcb)	((ID)(((p_semcb) - semcb_table) + TMIN_SEMID))
 
 /*
- *  Z}tH@\Ìú»
+ *  セマフォ機能の初期化
  */
 extern void	initialize_semaphore(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/startup.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/startup.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/startup.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		J[lÌú»ÆI¹
+ *		カーネルの初期化と終了処理
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_KER_ENTER
@@ -75,13 +71,13 @@
 
 /*
- *  J[l®ìóÔtO
+ *  カーネル動作状態フラグ
  *
- *  X^[gAbv[`ÅCfalsei0jÉú»³êé±ÆðúÒµÄ
- *  ¢éD
+ *  スタートアップルーチンで，false（＝0）に初期化されることを期待して
+ *  いる．
  */
 bool_t	kerflg = false;
 
 /*
- *  J[lÌN®
+ *  カーネルの起動
  */
 void
@@ -89,16 +85,13 @@
 {
 	/*
-	 *  ^[QbgË¶Ìú»
+	 *  ターゲット依存の初期化
 	 */
 	target_initialize();
 
 	/*
-	 *  eW
-[Ìú»
+	 *  各モジュールの初期化
 	 *
-	 *  ^CCxgÇW
-[Í¼ÌW
-[æèæÉú»
-	 *  ·éKvª éD
+	 *  タイムイベント管理モジュールは他のモジュールより先に初期化
+	 *  する必要がある．
 	 */
 	initialize_kmm();
@@ -107,10 +100,10 @@
 
 	/*
-	 *  ú»[`ÌÀs
+	 *  初期化ルーチンの実行
 	 */ 
 	call_inirtn();
 
 	/*
-	 *  J[l®ìÌJn
+	 *  カーネル動作の開始
 	 */
 	kerflg = true;
@@ -123,5 +116,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了
  */
 #ifdef TOPPERS_ext_ker
@@ -135,10 +128,10 @@
 
 	/*
-	 *  ÝbNóÔÉÚs
+	 *  割込みロック状態に移行
 	 */
 	SIL_LOC_INT();
 
 	/*
-	 *  J[l®ìÌI¹
+	 *  カーネル動作の終了
 	 */
 	LOG_KER_LEAVE();
@@ -146,12 +139,12 @@
 
 	/*
-	 *  J[lÌI¹ÌÄoµ
+	 *  カーネルの終了処理の呼出し
 	 *
-	 *  ñ^XNReLXgÉØè·¦ÄCexit_kernelðÄÑo·D
+	 *  非タスクコンテキストに切り換えて，exit_kernelを呼び出す．
 	 */
 	call_exit_kernel();
 
 	/*
-	 *  RpCÌxÎôi±±Öé±ÆÍÈ¢Í¸j
+	 *  コンパイラの警告対策（ここへ来ることはないはず）
 	 */
 	SIL_UNL_INT();
@@ -161,5 +154,5 @@
 
 /*
- *  J[lÌI¹
+ *  カーネルの終了処理
  */
 void
@@ -167,10 +160,10 @@
 {
 	/*
-	 *  I¹[`ÌÀs
+	 *  終了処理ルーチンの実行
 	 */
 	call_terrtn();
 
 	/*
-	 *  ^[QbgË¶ÌI¹
+	 *  ターゲット依存の終了処理
 	 */
 	target_exit();
@@ -181,9 +174,8 @@
 
 /*
- *  J[lÌèt¯éÌæÌÇ
+ *  カーネルの割り付けるメモリ領域の管理
  *
- *  Ìæðæª©çÉèÄCðú³ê½ÌæðÄpµÈ
- *  ¢ÇW
-[D
+ *  メモリ領域を先頭から順に割り当て，解放されたメモリ領域を再利用しな
+ *  いメモリ管理モジュール．
  */
 #ifdef TOPPERS_kermem
Index: UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/sys_manage.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeóÔÇ@\
+ *		システム状態管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ROT_RDQ_ENTER
@@ -177,5 +173,5 @@
 
 /*
- *  ^XNÌDæÊÌñ]
+ *  タスクの優先順位の回転
  */
 #ifdef TOPPERS_rot_rdq
@@ -207,5 +203,5 @@
 
 /*
- *  ^XNÌDæÊÌñ]iñ^XNReLXgpj
+ *  タスクの優先順位の回転（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_irot_rdq
@@ -235,5 +231,5 @@
 
 /*
- *  ÀsóÔÌ^XNIDÌQÆ
+ *  実行状態のタスクIDの参照
  */
 #ifdef TOPPERS_get_tid
@@ -260,5 +256,5 @@
 
 /*
- *  ÀsóÔÌ^XNIDÌQÆiñ^XNReLXgpj
+ *  実行状態のタスクIDの参照（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iget_tid
@@ -285,5 +281,5 @@
 
 /*
- *  CPUbNóÔÖÌÚs
+ *  CPUロック状態への移行
  */
 #ifdef TOPPERS_loc_cpu
@@ -310,5 +306,5 @@
 
 /*
- *  CPUbNóÔÖÌÚsiñ^XNReLXgpj
+ *  CPUロック状態への移行（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iloc_cpu
@@ -335,9 +331,9 @@
 
 /*
- *  CPUbNóÔÌð
+ *  CPUロック状態の解除
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ðN®·é
- *  KvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャを起動する
+ *  必要はない．
  */
 #ifdef TOPPERS_unl_cpu
@@ -364,9 +360,9 @@
 
 /*
- *  CPUbNóÔÌðiñ^XNReLXgpj
+ *  CPUロック状態の解除（非タスクコンテキスト用）
  *
- *  CPUbNÍCfBXpb`ªKvÆÈéT[rXR[ðÄÑo·±
- *  ÆÍÅ«È¢½ßCCPUbNóÔÌðÉfBXpb`ÌN®ðv
- *  ·éKvÍÈ¢D
+ *  CPUロック中は，ディスパッチが必要となるサービスコールを呼び出すこ
+ *  とはできないため，CPUロック状態の解除時にディスパッチャの起動を要
+ *  求する必要はない．
  */
 #ifdef TOPPERS_iunl_cpu
@@ -393,5 +389,5 @@
 
 /*
- *  fBXpb`ÌÖ~
+ *  ディスパッチの禁止
  */
 #ifdef TOPPERS_dis_dsp
@@ -419,5 +415,5 @@
 
 /*
- *  fBXpb`ÌÂ
+ *  ディスパッチの許可
  */
 #ifdef TOPPERS_ena_dsp
@@ -450,5 +446,5 @@
 
 /*
- *  ReLXgÌQÆ
+ *  コンテキストの参照
  */
 #ifdef TOPPERS_sns_ctx
@@ -468,5 +464,5 @@
 
 /*
- *  CPUbNóÔÌQÆ
+ *  CPUロック状態の参照
  */
 #ifdef TOPPERS_sns_loc
@@ -486,5 +482,5 @@
 
 /*
- *  fBXpb`Ö~óÔÌQÆ
+ *  ディスパッチ禁止状態の参照
  */
 #ifdef TOPPERS_sns_dsp
@@ -504,5 +500,5 @@
 
 /*
- *  fBXpb`Û¯óÔÌQÆ
+ *  ディスパッチ保留状態の参照
  */
 #ifdef TOPPERS_sns_dpn
@@ -522,5 +518,5 @@
 
 /*
- *  J[lñ®ìóÔÌQÆ
+ *  カーネル非動作状態の参照
  */
 #ifdef TOPPERS_sns_ker
Index: UsbWattMeter/trunk/asp_dcre/kernel/task.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		^XNÇW
-[
+ *		タスク管理モジュール
  */
 
@@ -55,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_TEX_ENTER
@@ -68,53 +63,50 @@
 
 /*
- *  ÀsóÔÌ^XN
+ *  実行状態のタスク
  */
 TCB		*p_runtsk;
 
 /*
- *  ÅDæÊÌ^XN
+ *  最高優先順位のタスク
  */
 TCB		*p_schedtsk;
 
 /*
- *  ^XNfBXpb`^^XNáO[`N®vtO
+ *  タスクディスパッチ／タスク例外処理ルーチン起動要求フラグ
  */
 bool_t	reqflg;
 
 /*
- *  ÝDæx}XNSðóÔ
+ *  割込み優先度マスク全解除状態
  */
 bool_t	ipmflg;
 
 /*
- *  fBXpb`Ö~óÔ
+ *  ディスパッチ禁止状態
  */
 bool_t	disdsp;
 
 /*
- *  ^XNfBXpb`Â\óÔ
+ *  タスクディスパッチ可能状態
  */
 bool_t	dspflg;
 
 /*
- *  fBL
-[
+ *  レディキュー
  */
 QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
+ *  レディキューサーチのためのビットマップ
  */
 uint16_t	ready_primap;
 
 /*
- *  gpµÄ¢È¢TCBÌXg
+ *  使用していないTCBのリスト
  */
 QUEUE	free_tcb;
 
 /*
- *  ^XNÇW
-[Ìú»
+ *  タスク管理モジュールの初期化
  */
 void
@@ -160,20 +152,20 @@
 
 /*
- *  rbg}bvT[`Ö
- *
- *  bitmapàÌ1ÌrbgÌàCÅàºÊiEjÌàÌðT[`µC»Ìrb
- *  gÔðÔ·DrbgÔÍCÅºÊrbgð0Æ·éDbitmapÉ0ðwè
- *  µÄÍÈçÈ¢D±ÌÖÅÍCbitmapª16rbgÅ é±Æð¼èµC
- *  uint16_t^ÆµÄ¢éD
- *
- *  rbgT[`½ßðÂvZbTÅÍCrbgT[`½ßðg¤æ¤É
- *  «¼µ½ûªø¦ªÇ¢êª éD±Ìæ¤ÈêÉÍC^[Qbg
- *  Ë¶ÅrbgT[`½ßðgÁ½bitmap_searchðè`µC
- *  OMIT_BITMAP_SEARCHð}Nè`·êÎæ¢DÜ½CrbgT[`½ßÌ
- *  T[`ûüªtÈÇÌRÅDæxÆrbgÆÌÎðÏXµ½¢êÉ
- *  ÍCPRIMAP_BITð}Nè`·êÎæ¢D
- *
- *  Ü½CCuÉffsª éÈçCÌæ¤Éè`µÄCuÖð
- *  gÁ½ûªø¦ªÇ¢Â\«à éD
+ *  ビットマップサーチ関数
+ *
+ *  bitmap内の1のビットの内，最も下位（右）のものをサーチし，そのビッ
+ *  ト番号を返す．ビット番号は，最下位ビットを0とする．bitmapに0を指定
+ *  してはならない．この関数では，bitmapが16ビットであることを仮定し，
+ *  uint16_t型としている．
+ *
+ *  ビットサーチ命令を持つプロセッサでは，ビットサーチ命令を使うように
+ *  書き直した方が効率が良い場合がある．このような場合には，ターゲット
+ *  依存部でビットサーチ命令を使ったbitmap_searchを定義し，
+ *  OMIT_BITMAP_SEARCHをマクロ定義すればよい．また，ビットサーチ命令の
+ *  サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に
+ *  は，PRIMAP_BITをマクロ定義すればよい．
+ *
+ *  また，ライブラリにffsがあるなら，次のように定義してライブラリ関数を
+ *  使った方が効率が良い可能性もある．
  *		#define	bitmap_search(bitmap) (ffs(bitmap) - 1)
  */
@@ -207,5 +199,5 @@
 
 /*
- *  Dæxrbg}bvªó©Ì`FbN
+ *  優先度ビットマップが空かのチェック
  */
 Inline bool_t
@@ -216,5 +208,5 @@
 
 /*
- *  Dæxrbg}bvÌT[`
+ *  優先度ビットマップのサーチ
  */
 Inline uint_t
@@ -225,5 +217,5 @@
 
 /*
- *  Dæxrbg}bvÌZbg
+ *  優先度ビットマップのセット
  */
 Inline void
@@ -234,5 +226,5 @@
 
 /*
- *  Dæxrbg}bvÌNA
+ *  優先度ビットマップのクリア
  */
 Inline void
@@ -243,5 +235,5 @@
 
 /*
- *  ÅDæÊ^XNÌT[`
+ *  最高優先順位タスクのサーチ
  */
 #ifdef TOPPERS_tsksched
@@ -259,9 +251,9 @@
 
 /*
- *  ÀsÅ«éóÔÖÌJÚ
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCÀsÅ«é^XNªÈ©Á½ê
- *  ÆCp_tcbÌDæxªÅDæÊÌ^XNÌDæxæèà¢êÅ 
- *  éD
+ *  実行できる状態への遷移
+ *
+ *  最高優先順位のタスクを更新するのは，実行できるタスクがなかった場合
+ *  と，p_tcbの優先度が最高優先順位のタスクの優先度よりも高い場合であ
+ *  る．
  */
 #ifdef TOPPERS_tskrun
@@ -285,11 +277,10 @@
 
 /*
- *  ÀsÅ«éóÔ©ç¼ÌóÔÖÌJÚ
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCp_tcbªÅDæÊÌ^XNÅ
- *   Á½êÅ éDp_tcbÆ¯¶DæxÌ^XNª¼É éêÍCp_tcb
- *  ÌÌ^XNªÅDæÊÉÈéD»¤ÅÈ¢êÍCfBL
-[ð
- *  T[`·éKvª éD
+ *  実行できる状態から他の状態への遷移
+ *
+ *  最高優先順位のタスクを更新するのは，p_tcbが最高優先順位のタスクで
+ *  あった場合である．p_tcbと同じ優先度のタスクが他にある場合は，p_tcb
+ *  の次のタスクが最高優先順位になる．そうでない場合は，レディキューを
+ *  サーチする必要がある．
  */
 #ifdef TOPPERS_tsknrun
@@ -321,5 +312,5 @@
 
 /*
- *  x~óÔÖÌJÚ
+ *  休止状態への遷移
  */
 #ifdef TOPPERS_tskdmt
@@ -339,5 +330,5 @@
 
 /*
- *  x~óÔ©çÀsÅ«éóÔÖÌJÚ
+ *  休止状態から実行できる状態への遷移
  */
 #ifdef TOPPERS_tskact
@@ -355,18 +346,14 @@
 
 /*
- *  ^XNÌDæxÌÏX
- *
- *  ^XNªÀsÅ«éóÔÌêÉÍCfBL
-[ÌÅÌÊuðÏX·
- *  éDIuWFNgÌÒ¿L
-[ÌÅÒ¿óÔÉÈÁÄ¢éêÉÍCÒ
- *  ¿L
-[ÌÅÌÊuðÏX·éD
- *
- *  ÅDæÊÌ^XNðXV·éÌÍC(1) p_tcbªÅDæÊÌ^X
- *  NÅ ÁÄC»ÌDæxðº°½êC(2) p_tcbªÅDæÊÌ^X
- *  NÅÍÈ­CÏXãÌDæxªÅDæÊÌ^XNÌDæxæèà¢
- *  êÅ éD(1)ÌêÉÍCfBL
-[ðT[`·éKvª éD
+ *  タスクの優先度の変更
+ *
+ *  タスクが実行できる状態の場合には，レディキューの中での位置を変更す
+ *  る．オブジェクトの待ちキューの中で待ち状態になっている場合には，待
+ *  ちキューの中での位置を変更する．
+ *
+ *  最高優先順位のタスクを更新するのは，(1) p_tcbが最高優先順位のタス
+ *  クであって，その優先度を下げた場合，(2) p_tcbが最高優先順位のタス
+ *  クではなく，変更後の優先度が最高優先順位のタスクの優先度よりも高い
+ *  場合である．(1)の場合には，レディキューをサーチする必要がある．
  */
 #ifdef TOPPERS_tskpri
@@ -382,5 +369,5 @@
 	if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  ^XNªÀsÅ«éóÔÌê
+		 *  タスクが実行できる状態の場合
 		 */
 		queue_delete(&(p_tcb->task_queue));
@@ -407,7 +394,6 @@
 		if (TSTAT_WAIT_WOBJCB(p_tcb->tstat)) {
 			/*
-			 *  ^XNªC¯úEÊMIuWFNgÌÇubNÌ¤Ê
-			 *  ªiWOBJCBjÌÒ¿L
-[ÉÂÈªêÄ¢éê
+			 *  タスクが，同期・通信オブジェクトの管理ブロックの共通部
+			 *  分（WOBJCB）の待ちキューにつながれている場合
 			 */
 			wobj_change_priority(((WINFO_WOBJ *)(p_tcb->p_winfo))->p_wobjcb,
@@ -421,10 +407,8 @@
 
 /*
- *  fBL
-[Ìñ]
- *
- *  ÅDæÊÌ^XNðXV·éÌÍCÅDæÊÌ^XNª^XNL
- *  
-[ÌöÉÚ®µ½êÅ éD
+ *  レディキューの回転
+ *
+ *  最高優先順位のタスクを更新するのは，最高優先順位のタスクがタスクキ
+ *  ューの末尾に移動した場合である．
  */
 #ifdef TOPPERS_tskrot
@@ -450,8 +434,8 @@
 
 /*
- *  ^XNáO[`ÌÄoµ
- *
- *  ASPJ[lÅÍC^XNáO[`àÅCPUbNóÔÉJÚµC
- *  ³ÌóÔÉß³¸É^[µ½êCJ[lª³ÌóÔÉß·D
+ *  タスク例外処理ルーチンの呼出し
+ *
+ *  ASPカーネルでは，タスク例外処理ルーチン内でCPUロック状態に遷移し，
+ *  元の状態に戻さずにリターンした場合，カーネルが元の状態に戻す．
  */
 #ifdef TOPPERS_tsktex
@@ -486,8 +470,8 @@
 		if (p_runtsk != p_schedtsk && dspflg) {
 			/*
-			 *  ±±ÅdispatchðÄÑo·ÍCÝÄAÄoµÉÈÁÄ
-			 *  ¢éªCdispatchðÄÔOÉp_runtsk->enatexðfalseÉµÄ
-			 *  ¨¯ÎxáªÈ¢D»ÌRÉÂ¢ÄÍCuTOPPERS/ASP J[
-			 *  l ÝvvðQÆÌ±ÆD
+			 *  ここでdispatchを呼び出す処理は，相互再帰呼出しになって
+			 *  いるが，dispatchを呼ぶ前にp_runtsk->enatexをfalseにして
+			 *  おけば支障がない．その理由については，「TOPPERS/ASP カー
+			 *  ネル 設計メモ」を参照のこと．
 			 */
 			dispatch();
@@ -498,5 +482,5 @@
 
 /*
- *  ^XNáO[`ÌN®
+ *  タスク例外処理ルーチンの起動
  */
 #ifndef OMIT_CALLTEX
Index: UsbWattMeter/trunk/asp_dcre/kernel/task.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		^XNÇW
-[
+ *		タスク管理モジュール
  */
 
@@ -57,5 +52,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_TSKSTAT
@@ -64,5 +59,5 @@
 
 /*
- *  ^XNDæxÌà\»EO\»Ï·}N
+ *  タスク優先度の内部表現・外部表現変換マクロ
  */
 #define INT_PRIORITY(x)		((uint_t)((x) - TMIN_TPRI))
@@ -70,38 +65,34 @@
 
 /*
- *  ^XNóÔÌà\»
- *
- *  TCBÌ^XNóÔÅÍCÀsóÔiRUNNINGjÆÀsÂ\óÔiREADYj
- *  ÍæÊµÈ¢D¼óÔðÌµÄCÀsÅ«éóÔiRUNNABLEjÆÄÔD
- *  ñdÒ¿óÔÍC(TS_WAITING | TS_SUSPENDED)Å\·DTS_WAIT_???ÍÒ
- *  ¿vöð\µCÒ¿óÔiñdÒ¿óÔðÜÞjÌêÉÌÝÝè·éD
- */
-#define TS_DORMANT		0x00U			/* x~óÔ */
-#define TS_RUNNABLE		0x01U			/* ÀsÅ«éóÔ */
-#define TS_WAITING		0x02U			/* Ò¿óÔ */
-#define TS_SUSPENDED	0x04U			/* ­§Ò¿óÔ */
-
-#define TS_WAIT_DLY		(0x00U << 3)	/* ÔoßÒ¿ */
-#define TS_WAIT_SLP		(0x01U << 3)	/* N°Ò¿ */
-#define TS_WAIT_RDTQ	(0x02U << 3)	/* f[^L
-[©çÌóMÒ¿ */
-#define TS_WAIT_RPDQ	(0x03U << 3)	/* Dæxf[^L
-[©çÌóMÒ¿ */
-#define TS_WAIT_SEM		(0x04U << 3)	/* Z}tH¹Ìl¾Ò¿ */
-#define TS_WAIT_FLG		(0x05U << 3)	/* CxgtOÒ¿ */
-#define TS_WAIT_SDTQ	(0x06U << 3)	/* f[^L
-[ÖÌMÒ¿ */
-#define TS_WAIT_SPDQ	(0x07U << 3)	/* Dæxf[^L
-[ÖÌMÒ¿ */
-#define TS_WAIT_MBX		(0x08U << 3)	/* [{bNX©çÌóMÒ¿ */
-#define TS_WAIT_MPF		(0x09U << 3)	/* Åè·ubNÌl¾Ò¿ */
-
-/*
- *  ^XNóÔ»Ê}N
- *
- *  TSTAT_DORMANTÍ^XNªx~óÔÅ é©Ç¤©ðCTSTAT_RUNNABLEÍ
- *  ^XNªÀsÅ«éóÔÅ é©Ç¤©ð»Ê·éDTSTAT_WAITINGÍÒ
- *  ¿óÔÆñdÒ¿óÔÌ¢¸ê©Å é©Ç¤©ðCTSTAT_SUSPENDEDÍ
- *  ­§Ò¿óÔÆñdÒ¿óÔÌ¢¸ê©Å é©Ç¤©ð»Ê·éD
+ *  タスク状態の内部表現
+ *
+ *  TCB中のタスク状態では，実行状態（RUNNING）と実行可能状態（READY）
+ *  は区別しない．両状態を総称して，実行できる状態（RUNNABLE）と呼ぶ．
+ *  二重待ち状態は，(TS_WAITING | TS_SUSPENDED)で表す．TS_WAIT_???は待
+ *  ち要因を表し，待ち状態（二重待ち状態を含む）の場合にのみ設定する．
+ */
+#define TS_DORMANT		0x00U			/* 休止状態 */
+#define TS_RUNNABLE		0x01U			/* 実行できる状態 */
+#define TS_WAITING		0x02U			/* 待ち状態 */
+#define TS_SUSPENDED	0x04U			/* 強制待ち状態 */
+
+#define TS_WAIT_DLY		(0x00U << 3)	/* 時間経過待ち */
+#define TS_WAIT_SLP		(0x01U << 3)	/* 起床待ち */
+#define TS_WAIT_RDTQ	(0x02U << 3)	/* データキューからの受信待ち */
+#define TS_WAIT_RPDQ	(0x03U << 3)	/* 優先度データキューからの受信待ち */
+#define TS_WAIT_SEM		(0x04U << 3)	/* セマフォ資源の獲得待ち */
+#define TS_WAIT_FLG		(0x05U << 3)	/* イベントフラグ待ち */
+#define TS_WAIT_SDTQ	(0x06U << 3)	/* データキューへの送信待ち */
+#define TS_WAIT_SPDQ	(0x07U << 3)	/* 優先度データキューへの送信待ち */
+#define TS_WAIT_MBX		(0x08U << 3)	/* メールボックスからの受信待ち */
+#define TS_WAIT_MPF		(0x09U << 3)	/* 固定長メモリブロックの獲得待ち */
+
+/*
+ *  タスク状態判別マクロ
+ *
+ *  TSTAT_DORMANTはタスクが休止状態であるかどうかを，TSTAT_RUNNABLEは
+ *  タスクが実行できる状態であるかどうかを判別する．TSTAT_WAITINGは待
+ *  ち状態と二重待ち状態のいずれかであるかどうかを，TSTAT_SUSPENDEDは
+ *  強制待ち状態と二重待ち状態のいずれかであるかどうかを判別する．
  */
 #define TSTAT_DORMANT(tstat)	((tstat) == TS_DORMANT)
@@ -111,24 +102,22 @@
 
 /*
- *  ^XNÒ¿vö»Ê}N
- *
- *  TSTAT_WAIT_SLPÍ^XNªN°Ò¿Å é©Ç¤©ðCTSTAT_WAIT_WOBJ
- *  Í^XNª¯úEÊMIuWFNgÉÎ·éÒ¿Å é©i¾¢·¦éÆC
- *  ¯úÊMIuWFNgÌÒ¿L
-[ÉÂÈªêÄ¢é©jÇ¤©ð»Ê·
- *  éDÜ½CTSTAT_WAIT_WOBJCBÍ^XNª¯úEÊMIuWFNgÌÇ
- *  ubNÌ¤ÊªiWOBJCBjÌÒ¿L
-[ÉÂÈªêÄ¢é©Ç¤©ð
- *  »Ê·éD
- *
- *  TSTAT_WAIT_SLPÍCCÓÌ^XNóÔÌ©çC^XNªN°Ò¿Å é
- *  ±Æð»ÊÅ«éD·Èí¿CTSTAT_WAITINGÉæèÒ¿óÔÅ é±Æð
- *  »Ê¹¸ÉCTSTAT_SLP¾¯ðp¢ÄN°Ò¿óÔÅ é±Æð»ÊÅ«éD
- *  ±êðø¦IÉÀ»·é½ßÉCTS_WAIT_SLPÌlðC(0x00U << 3)ÅÍÈ
- *  ­(0x01U << 3)ÆµÄ¢éD»Ì½ßC^XNªÔoßÒ¿óÔÅ é
- *  ±Æð»Ê·é½ßÌTSTAT_WAIT_DLYðCTSTAT_WAIT_SLPÆ¯lÌû@Å
- *  À»·é±ÆÍÅ«È¢D
- */
-#define TS_WAIT_MASK	(0x0fU << 3)	/* Ò¿vöÌæoµ}XN */
+ *  タスク待ち要因判別マクロ
+ *
+ *  TSTAT_WAIT_SLPはタスクが起床待ちであるかどうかを，TSTAT_WAIT_WOBJ
+ *  はタスクが同期・通信オブジェクトに対する待ちであるか（言い換えると，
+ *  同期通信オブジェクトの待ちキューにつながれているか）どうかを判別す
+ *  る．また，TSTAT_WAIT_WOBJCBはタスクが同期・通信オブジェクトの管理
+ *  ブロックの共通部分（WOBJCB）の待ちキューにつながれているかどうかを
+ *  判別する．
+ *
+ *  TSTAT_WAIT_SLPは，任意のタスク状態の中から，タスクが起床待ちである
+ *  ことを判別できる．すなわち，TSTAT_WAITINGにより待ち状態であることを
+ *  判別せずに，TSTAT_SLPだけを用いて起床待ち状態であることを判別できる．
+ *  これを効率的に実現するために，TS_WAIT_SLPの値を，(0x00U << 3)ではな
+ *  く(0x01U << 3)としている．そのため，タスクが時間経過待ち状態である
+ *  ことを判別するためのTSTAT_WAIT_DLYを，TSTAT_WAIT_SLPと同様の方法で
+ *  実現することはできない．
+ */
+#define TS_WAIT_MASK	(0x0fU << 3)	/* 待ち要因の取出しマスク */
 
 #define TSTAT_WAIT_SLP(tstat)		(((tstat) & TS_WAIT_MASK) == TS_WAIT_SLP)
@@ -137,242 +126,222 @@
 
 /*
- *  Ò¿îñubNiWINFOjÌè`
- *
- *  ^XNªÒ¿óÔÌÔÍCTCB¨æÑ»Ìp_winfoÅw³êéWINFOðÌ
- *  æ¤ÉÝèµÈ¯êÎÈçÈ¢D
- *
- *  (a) TCBÌ^XNóÔðÒ¿óÔiTS_WAITINGjÉ·éD»ÌÛÉCÒ¿
- *  vöiTS_WAIT_???jàÝè·éD
- *
- *  (b) ^CAEgðÄ·é½ßÉC^CCxgubNðo^·éD
- *  o^·é^CCxgubNÍCÒ¿ÉüéT[rXR[Ö
- *  Ì[JÏÆµÄmÛµC»êÖÌ|C^ðWINFOÌp_tmevtbÉL
- *  ¯·éD^CAEgÌÄªKvÈ¢êiivÒ¿ÌêjÉÍC
- *  p_tmevtbðNULLÉ·éD
- *
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÌêÉÍCWÌWINFOÉ
- *  p_wobjcbtB[hðÇÁµ½\¢ÌiWINFO_WOBJCwait.hÅè`jðg
- *  ¤DÜ½CÈºÌ(c)`(e)ÌÝèðs¤Kvª éD¯úEÊMIuWF
- *  NgÉÖWµÈ¢Ò¿iN°Ò¿CÔoßÒ¿jÌêÉÍC(c)`(e)
- *  ÍKvÈ¢D
- *
- *  (c) TCBðÒ¿ÎÛÌ¯úEÊMIuWFNgÌÒ¿L
-[ÉÂÈ®DÒ
- *  ¿L
-[ÉÂÈ®½ßÉCtask_queueðg¤D
- *
- *  (d) Ò¿ÎÛÌ¯úEÊMIuWFNgÌÇubNÖÌ|C^ðC
- *  WINFO_WOBJÌp_wobjcbÉL¯·éD
- *
- *  (e) Ò¿ÎÛÌ¯úEÊMIuWFNgÉË¶µÄL¯·é±ÆªKvÈ
- *  îñª éêÉÍCWINFO_WOBJÉKvÈîñÌ½ßÌtB[hðÇÁ
- *  µ½\¢Ìðè`µCWINFO_WOBJÌãíèÉp¢éD
- *
- *  Ò¿óÔðð·éÛÉÍCÒ¿ðµ½^XNÉÎ·éÔlðWINFOÌ
- *  wercdÉÝè·éDwercdªKvÈÌÍÒ¿ðÈ~Å éÌÉÎµÄC
- *  p_tmevtbÍÒ¿ðãÍKvÈ¢½ßCßñÌ½ßÉ¤pÌðgÁ
- *  Ä¢éD»Ì½ßCwercdÖG[R[hðÝè·éÌÍC^CCxg
- *  ubNðo^ðµ½ãÉµÈ¯êÎÈçÈ¢D
+ *  待ち情報ブロック（WINFO）の定義
+ *
+ *  タスクが待ち状態の間は，TCBおよびそのp_winfoで指されるWINFOを次の
+ *  ように設定しなければならない．
+ *
+ *  (a) TCBのタスク状態を待ち状態（TS_WAITING）にする．その際に，待ち
+ *  要因（TS_WAIT_???）も設定する．
+ *
+ *  (b) タイムアウトを監視するために，タイムイベントブロックを登録する．
+ *  登録するタイムイベントブロックは，待ちに入るサービスコール処理関数
+ *  のローカル変数として確保し，それへのポインタをWINFOのp_tmevtbに記
+ *  憶する．タイムアウトの監視が必要ない場合（永久待ちの場合）には，
+ *  p_tmevtbをNULLにする．
+ *
+ *  同期・通信オブジェクトに対する待ち状態の場合には，標準のWINFOに
+ *  p_wobjcbフィールドを追加した構造体（WINFO_WOBJ，wait.hで定義）を使
+ *  う．また，以下の(c)〜(e)の設定を行う必要がある．同期・通信オブジェ
+ *  クトに関係しない待ち（起床待ち，時間経過待ち）の場合には，(c)〜(e)
+ *  は必要ない．
+ *
+ *  (c) TCBを待ち対象の同期・通信オブジェクトの待ちキューにつなぐ．待
+ *  ちキューにつなぐために，task_queueを使う．
+ *
+ *  (d) 待ち対象の同期・通信オブジェクトの管理ブロックへのポインタを，
+ *  WINFO_WOBJのp_wobjcbに記憶する．
+ *
+ *  (e) 待ち対象の同期・通信オブジェクトに依存して記憶することが必要な
+ *  情報がある場合には，WINFO_WOBJに必要な情報のためのフィールドを追加
+ *  した構造体を定義し，WINFO_WOBJの代わりに用いる．
+ *
+ *  待ち状態を解除する際には，待ち解除したタスクに対する返値をWINFOの
+ *  wercdに設定する．wercdが必要なのは待ち解除以降であるのに対して，
+ *  p_tmevtbは待ち解除後は必要ないため，メモリ節約のために共用体を使っ
+ *  ている．そのため，wercdへエラーコードを設定するのは，タイムイベント
+ *  ブロックを登録解除した後にしなければならない．
  */
 typedef union waiting_information {
-	ER		wercd;			/* Ò¿ðÌG[R[h */
-	TMEVTB	*p_tmevtb;		/* Ò¿óÔpÌ^CCxgubN */
+	ER		wercd;			/* 待ち解除時のエラーコード */
+	TMEVTB	*p_tmevtb;		/* 待ち状態用のタイムイベントブロック */
 } WINFO;
 
 /*
- *  ^XNú»ubN
- *
- *  ^XNÉÖ·éîñðClªÏíçÈ¢½ßÉROMÉu¯éªi^XN
- *  ú»ubNjÆClªÏ»·é½ßÉRAMÉu©È¯êÎÈçÈ¢
- *  ªi^XNÇubNCTCBjÉª£µCTCBàÉÎ·é^XNú»
- *  ubNðw·|C^ðüêéD^XNú»ubNàÉÎ·é
- *  TCBðw·|C^ðüêéû@ÌûªCRAMÌßñÌÏ_©çÍ]Üµ¢
- *  ªCÀsø¦ª«­Èé½ßÉÌpµÄ¢È¢D¼ÌIuWFNgÉÂ¢
- *  Äà¯lÉµ¤D
- *
- *  ^XNú»ubNÉÍCDEF_TEXÅè`³êé^XNáO[`
- *  ÉÖ·éîñàÜÞD
+ *  タスク初期化ブロック
+ *
+ *  タスクに関する情報を，値が変わらないためにROMに置ける部分（タスク
+ *  初期化ブロック）と，値が変化するためにRAMに置かなければならない部
+ *  分（タスク管理ブロック，TCB）に分離し，TCB内に対応するタスク初期化
+ *  ブロックを指すポインタを入れる．タスク初期化ブロック内に対応する
+ *  TCBを指すポインタを入れる方法の方が，RAMの節約の観点からは望ましい
+ *  が，実行効率が悪くなるために採用していない．他のオブジェクトについ
+ *  ても同様に扱う．
+ *
+ *  タスク初期化ブロックには，DEF_TEXで定義されるタスク例外処理ルーチ
+ *  ンに関する情報も含む．
  */
 typedef struct task_initialization_block {
-	ATR			tskatr;			/* ^XN®« */
-	intptr_t	exinf;			/* ^XNÌg£îñ */
-	TASK		task;			/* ^XNÌN®Ôn */
-	uint_t		ipriority;		/* ^XNÌN®Dæxià\»j */
+	ATR			tskatr;			/* タスク属性 */
+	intptr_t	exinf;			/* タスクの拡張情報 */
+	TASK		task;			/* タスクの起動番地 */
+	uint_t		ipriority;		/* タスクの起動時優先度（内部表現） */
 
 #ifdef USE_TSKINICTXB
-	TSKINICTXB	tskinictxb;		/* ^XNú»ReLXgubN */
+	TSKINICTXB	tskinictxb;		/* タスク初期化コンテキストブロック */
 #else /* USE_TSKINICTXB */
-	SIZE		stksz;			/* X^bNÌæÌTCYiÛß½lj */
-	void		*stk;			/* X^bNÌæÌæªÔn */
+	SIZE		stksz;			/* スタック領域のサイズ（丸めた値） */
+	void		*stk;			/* スタック領域の先頭番地 */
 #endif /* USE_TSKINICTXB */
 
-	ATR			texatr;			/* ^XNáO[`®« */
-	TEXRTN		texrtn;			/* ^XNáO[`ÌN®Ôn */
+	ATR			texatr;			/* タスク例外処理ルーチン属性 */
+	TEXRTN		texrtn;			/* タスク例外処理ルーチンの起動番地 */
 } TINIB;
 
 /*
- *  TCBÌtB[hÌrbgÌè`
- *
- *  vZbTÉæÁÄÍCTCBÌtB[hÌrbgÅgpÊÆ
- *  «\ªg[hItÉÈé½ßC^[QbgË¶ÉtB[hÌrbg
- *  ðÏX·é±ÆðµÄ¢éD
+ *  TCB中のフィールドのビット幅の定義
+ *
+ *  プロセッサによっては，TCB中のフィールドのビット幅でメモリ使用量と
+ *  性能がトレードオフになるため，ターゲット依存にフィールドのビット幅
+ *  を変更することを許している．
  */
 #ifndef TBIT_TCB_PRIORITY
-#define	TBIT_TCB_PRIORITY		8		/* prioritytB[hÌrbg */
+#define	TBIT_TCB_PRIORITY		8		/* priorityフィールドのビット幅 */
 #endif /* TBIT_TCB_PRIORITY */
 
 /*
- *  ^XNÇubNiTCBj
- *
- *  ASPJ[lÅÍC^XNÌN®vL
-[COÌÅåliTMAX_ACTCNTj
- *  ÆN°vL
-[COÌÅåliTMAX_WUPCNTjÍ1ÉÅè³êÄ¢é
- *  ½ßCL
-[CO³êÄ¢é©Ç¤©Ì^UlÅ\»·é±ÆªÅ«éD
- *  Ü½C­§Ò¿vlXgÌÅåliTMAX_SUSCNTjª1ÉÅè³êÄ¢
- *  éÌÅC­§Ò¿vlXgisuscntjÍKvÈ¢D
- *
- *  TCBÌ¢­Â©ÌtB[hÍCÁèÌ^XNóÔÅÌÝLøÈlðÛµC
- *  »êÈOÌêÍlªÛØ³êÈ¢iæÁÄCQÆµÄÍÈçÈ¢jDe
- *  tB[hªLøÈlðÛ·éðÍÌÊèD
- *
- *  Eú»ãÍíÉLøF
- *  		p_tinibCtstatCactque
- *  Ex~óÔÈOÅLøix~óÔÅÍúlÉÈÁÄ¢éjF
- *  		priorityCwupqueCenatexCtexptn
- *  EÒ¿óÔiñdÒ¿óÔðÜÞjÅLøF
+ *  タスク管理ブロック（TCB）
+ *
+ *  ASPカーネルでは，タスクの起動要求キューイング数の最大値（TMAX_ACTCNT）
+ *  と起床要求キューイング数の最大値（TMAX_WUPCNT）は1に固定されている
+ *  ため，キューイングされているかどうかの真偽値で表現することができる．
+ *  また，強制待ち要求ネスト数の最大値（TMAX_SUSCNT）が1に固定されてい
+ *  るので，強制待ち要求ネスト数（suscnt）は必要ない．
+ *
+ *  TCBのいくつかのフィールドは，特定のタスク状態でのみ有効な値を保持し，
+ *  それ以外の場合は値が保証されない（よって，参照してはならない）．各
+ *  フィールドが有効な値を保持する条件は次の通り．
+ *
+ *  ・初期化後は常に有効：
+ *  		p_tinib，tstat，actque
+ *  ・休止状態以外で有効（休止状態では初期値になっている）：
+ *  		priority，wupque，enatex，texptn
+ *  ・待ち状態（二重待ち状態を含む）で有効：
  *  		p_winfo
- *  EÀsÅ«éóÔÆ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÅLøF
+ *  ・実行できる状態と同期・通信オブジェクトに対する待ち状態で有効：
  *  		task_queue
- *  EÀsÂ\óÔCÒ¿óÔC­§Ò¿óÔCñdÒ¿óÔÅLøF
+ *  ・実行可能状態，待ち状態，強制待ち状態，二重待ち状態で有効：
  *  		tskctxb
  */
 typedef struct task_control_block {
-	QUEUE			task_queue;		/* ^XNL
-[ */
-	const TINIB		*p_tinib;		/* ú»ubNÖÌ|C^ */
+	QUEUE			task_queue;		/* タスクキュー */
+	const TINIB		*p_tinib;		/* 初期化ブロックへのポインタ */
 
 #ifdef UINT8_MAX
-	uint8_t			tstat;			/* ^XNóÔià\»j*/
+	uint8_t			tstat;			/* タスク状態（内部表現）*/
 #else /* UINT8_MAX */
-	BIT_FIELD_UINT	tstat : 8;		/* ^XNóÔià\»j*/
+	BIT_FIELD_UINT	tstat : 8;		/* タスク状態（内部表現）*/
 #endif /* UINT8_MAX */
 #if defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8)
-	uint8_t			priority;		/* »ÝÌDæxià\»j*/
+	uint8_t			priority;		/* 現在の優先度（内部表現）*/
 #else /* defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8) */
 	BIT_FIELD_UINT	priority : TBIT_TCB_PRIORITY;
-									/* »ÝÌDæxià\»j*/
+									/* 現在の優先度（内部表現）*/
 #endif /* defined(UINT8_MAX) && (TBIT_TCB_PRIORITY == 8) */
-	BIT_FIELD_BOOL	actque : 1;		/* N®vL
-[CO */
-	BIT_FIELD_BOOL	wupque : 1;		/* N°vL
-[CO */
-	BIT_FIELD_BOOL	enatex : 1;		/* ^XNáOÂóÔ */
-
-	TEXPTN			texptn;			/* Û¯áOvö */
-	WINFO			*p_winfo;		/* Ò¿îñubNÖÌ|C^ */
-	TSKCTXB			tskctxb;		/* ^XNReLXgubN */
+	BIT_FIELD_BOOL	actque : 1;		/* 起動要求キューイング */
+	BIT_FIELD_BOOL	wupque : 1;		/* 起床要求キューイング */
+	BIT_FIELD_BOOL	enatex : 1;		/* タスク例外処理許可状態 */
+
+	TEXPTN			texptn;			/* 保留例外要因 */
+	WINFO			*p_winfo;		/* 待ち情報ブロックへのポインタ */
+	TSKCTXB			tskctxb;		/* タスクコンテキストブロック */
 } TCB;
 
 /*
- *  ÀsóÔÌ^XN
- *
- *  ÀsóÔÌ^XNivZbTªReLXgðÁÄ¢é^XNjÌ
- *  TCBðw·|C^DÀsóÔÌ^XNªÈ¢êÍNULLÉ·éD
- *
- *  T[rXR[ÌÅC©^XNiT[rXR[ðÄÑoµ½^X
- *  NjÉÖ·éîñðQÆ·éêÍp_runtskðg¤Dp_runtskð«·¦
- *  éÌÍCfBXpb`iÆú»jÌÝÅ éD
+ *  実行状態のタスク
+ *
+ *  実行状態のタスク（＝プロセッサがコンテキストを持っているタスク）の
+ *  TCBを指すポインタ．実行状態のタスクがない場合はNULLにする．
+ *
+ *  サービスコールの処理中で，自タスク（サービスコールを呼び出したタス
+ *  ク）に関する情報を参照する場合はp_runtskを使う．p_runtskを書き換え
+ *  るのは，ディスパッチャ（と初期化処理）のみである．
  */
 extern TCB	*p_runtsk;
 
 /*
- *  ÅDæÊÌ^XN
- *
- *  ÀsÅ«é^XNÌÅÅDæÊÌ^XNÌTCBðw·|C^DÀ
- *  sÅ«é^XNªÈ¢êÍNULLÉ·éD
- *
- *  fBXpb`Ö~óÔÈÇCfBXpb`ªÛ¯³êÄ¢éÔÍp_runtsk
- *  ÆêvµÄ¢éÆÍÀçÈ¢D
+ *  最高優先順位のタスク
+ *
+ *  実行できるタスクの中で最高優先順位のタスクのTCBを指すポインタ．実
+ *  行できるタスクがない場合はNULLにする．
+ *
+ *  ディスパッチ禁止状態など，ディスパッチが保留されている間はp_runtsk
+ *  と一致しているとは限らない．
  */
 extern TCB	*p_schedtsk;
 
 /*
- *  fBXpb`^^XNáO[`N®vtO
- *
- *  Ýnh^CPUáOnhÌoûÉCfBXpb`Ü½Í
- *  ^XNáO[`ÌN®ðv·é±Æð¦·tOD
+ *  ディスパッチ／タスク例外処理ルーチン起動要求フラグ
+ *
+ *  割込みハンドラ／CPU例外ハンドラの出口処理に，ディスパッチまたは
+ *  タスク例外処理ルーチンの起動を要求することを示すフラグ．
  */
 extern bool_t	reqflg;
 
 /*
- *  ÝDæx}XNSðóÔ
- *
- *  ÝDæx}XNSðóÔÅ é±Æð¦·tOD
+ *  割込み優先度マスク全解除状態
+ *
+ *  割込み優先度マスク全解除状態であることを示すフラグ．
  */
 extern bool_t	ipmflg;
 
 /*
- *  fBXpb`Ö~óÔ
- *
- *  fBXpb`Ö~óÔÅ é±Æð¦·tOD
+ *  ディスパッチ禁止状態
+ *
+ *  ディスパッチ禁止状態であることを示すフラグ．
  */
 extern bool_t	disdsp;
 
 /*
- *  ^XNfBXpb`Â\óÔ
- *
- *  ÝDæx}XNSðóÔÅ èCfBXpb`ÂóÔÅ éifB
- *  Xpb`Ö~óÔÅÈ¢j±Æð¦·tOD
+ *  タスクディスパッチ可能状態
+ *
+ *  割込み優先度マスク全解除状態であり，ディスパッチ許可状態である（ディ
+ *  スパッチ禁止状態でない）ことを示すフラグ．
  */
 extern bool_t	dspflg;
 
 /*
- *  fBL
-[
- *
- *  fBL
-[ÍCÀsÅ«éóÔÌ^XNðÇ·é½ßÌL
-[Å éD
- *  ÀsóÔÌ^XNàÇµÄ¢é½ßCfBiÀsÂ\jL
-[Æ¢¤
- *  ¼ÌÍ³mÅÍÈ¢ªCfBL
-[Æ¢¤¼Ìªè
-µÄ¢é½ßC±
- *  Ì¼ÌÅÄÔ±ÆÉ·éD
- *
- *  fBL
-[ÍCDæx²ÆÌ^XNL
-[Å\¬³êÄ¢éD^XNÌ
- *  TCBÍCY·éDæxÌL
-[Éo^³êéD
+ *  レディキュー
+ *
+ *  レディキューは，実行できる状態のタスクを管理するためのキューである．
+ *  実行状態のタスクも管理しているため，レディ（実行可能）キューという
+ *  名称は正確ではないが，レディキューという名称が定着しているため，こ
+ *  の名称で呼ぶことにする．
+ *
+ *  レディキューは，優先度ごとのタスクキューで構成されている．タスクの
+ *  TCBは，該当する優先度のキューに登録される．
  */
 extern QUEUE	ready_queue[TNUM_TPRI];
 
 /*
- *  fBL
-[T[`Ì½ßÌrbg}bv
- *
- *  fBL
-[ÌT[`ðø¦æ­s¤½ßÉCDæx²ÆÌ^XNL
-[
- *  É^XNªüÁÄ¢é©Ç¤©ð¦·rbg}bvðpÓµÄ¢éDrb
- *  g}bvðg¤±ÆÅCANZXÌñð¸ç·±ÆªÅ«éªC
- *  rbgì½ßª[ÀµÄ¢È¢vZbTÅCDæxÌiKª­È¢
- *  êÉÍCrbg}bvìÌI[o[wbhÌ½ßÉCtÉø¦ª¿
- *  éÂ\«à éD
- *
- *  Dæxª16iKÅ é±Æð¼èµÄ¢é½ßCuint16_t^ÆµÄ¢éD
+ *  レディキューサーチのためのビットマップ
+ *
+ *  レディキューのサーチを効率よく行うために，優先度ごとのタスクキュー
+ *  にタスクが入っているかどうかを示すビットマップを用意している．ビッ
+ *  トマップを使うことで，メモリアクセスの回数を減らすことができるが，
+ *  ビット操作命令が充実していないプロセッサで，優先度の段階数が少ない
+ *  場合には，ビットマップ操作のオーバーヘッドのために，逆に効率が落ち
+ *  る可能性もある．
+ *
+ *  優先度が16段階であることを仮定しているため，uint16_t型としている．
  */
 extern uint16_t	ready_primap;
 
 /*
- *  gpµÄ¢È¢TCBÌXg
+ *  使用していないTCBのリスト
  */
 extern QUEUE	free_tcb;
 
 /*
- *  ^XNIDÌÅålikernel_cfg.cj
+ *  タスクIDの最大値（kernel_cfg.c）
  */
 extern const ID	tmax_tskid;
@@ -380,5 +349,5 @@
 
 /*
- *  ^XNú»ubNÌGAikernel_cfg.cj
+ *  タスク初期化ブロックのエリア（kernel_cfg.c）
  */
 extern const TINIB	tinib_table[];
@@ -386,15 +355,15 @@
 
 /*
- *  ^XN¶¬e[uikernel_cfg.cj
+ *  タスク生成順序テーブル（kernel_cfg.c）
  */
 extern const ID	torder_table[];
 
 /*
- *  TCBÌGAikernel_cfg.cj
+ *  TCBのエリア（kernel_cfg.c）
  */
 extern TCB	tcb_table[];
 
 /*
- *  ^XNÌ
+ *  タスクの数
  */
 #define tnum_tsk	((uint_t)(tmax_tskid - TMIN_TSKID + 1))
@@ -402,5 +371,5 @@
 
 /*
- *  ^XNID©çTCBðæèo·½ßÌ}N
+ *  タスクIDからTCBを取り出すためのマクロ
  */
 #define INDEX_TSK(tskid)	((uint_t)((tskid) - TMIN_TSKID))
@@ -409,118 +378,109 @@
 
 /*
- *  TCB©ç^XNIDðæèo·½ßÌ}N
+ *  TCBからタスクIDを取り出すためのマクロ
  */
 #define	TSKID(p_tcb)	((ID)(((p_tcb) - tcb_table) + TMIN_TSKID))
 
 /*
- *  ^XNÇW
-[Ìú»
+ *  タスク管理モジュールの初期化
  */
 extern void	initialize_task(void);
 
 /*
- *  ÅDæÊ^XNÌT[`
- *
- *  fBL
-[ÌÅDæÊÌ^XNðT[`µC»ÌTCBÖÌ|C^
- *  ðÔ·DfBL
-[ªóÌêÉÍC±ÌÖðÄÑoµÄÍÈçÈ¢D
+ *  最高優先順位タスクのサーチ
+ *
+ *  レディキュー中の最高優先順位のタスクをサーチし，そのTCBへのポインタ
+ *  を返す．レディキューが空の場合には，この関数を呼び出してはならない．
  */
 extern TCB	*search_schedtsk(void);
 
 /*
- *  ÀsÅ«éóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNðfBL
-[É}ü·éDfBL
-[É}ü
- *  µ½^XNÌDæxªCÅDæÊÌ^XNÌDæxæèà¢êÍC
- *  ÅDæÊÌ^XNðXVµCfBXpb`ÂóÔÅ êÎtrueðÔ
- *  ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューに挿入する．レディキューに挿入
+ *  したタスクの優先度が，最高優先順位のタスクの優先度よりも高い場合は，
+ *  最高優先順位のタスクを更新し，ディスパッチ許可状態であればtrueを返
+ *  す．そうでない場合はfalseを返す．
  */
 extern bool_t	make_runnable(TCB *p_tcb);
 
 /*
- *  ÀsÅ«éóÔ©ç¼ÌóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNðfBL
-[©çí·éDp_tcbÅwèµ½
- *  ^XNªÅDæÊÌ^XNÅ Á½êÉÍCÅDæÊÌ^XN
- *  ðÝèµÈ¨µCfBXpb`ÂóÔÅ êÎtrueðÔ·D»¤ÅÈ¢
- *  êÍfalseðÔ·D^XNÌóÔÍXVµÈ¢D
+ *  実行できる状態から他の状態への遷移
+ *
+ *  p_tcbで指定されるタスクをレディキューから削除する．p_tcbで指定した
+ *  タスクが最高優先順位のタスクであった場合には，最高優先順位のタスク
+ *  を設定しなおし，ディスパッチ許可状態であればtrueを返す．そうでない
+ *  場合はfalseを返す．タスクの状態は更新しない．
  */
 extern bool_t	make_non_runnable(TCB *p_tcb);
 
 /*
- *  x~óÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNÌóÔðx~óÔÆ·éDÜ½C^XNÌN®
- *  Éú»·×«ÏÌú»ÆC^XNN®Ì½ßÌReLXgðÝ
- *  è·éD
+ *  休止状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態とする．また，タスクの起動
+ *  時に初期化すべき変数の初期化と，タスク起動のためのコンテキストを設
+ *  定する．
  */
 extern void	make_dormant(TCB *p_tcb);
 
 /*
- *  x~óÔ©çÀsÅ«éóÔÖÌJÚ
- *
- *  p_tcbÅwè³êé^XNÌóÔðx~óÔ©çÀsÅ«éóÔÆ·éD
- *  ÀsÅ«éóÔÉJÚµ½^XNÖÌfBXpb`ªKvÈêÍtrueC
- *  »¤ÅÈ¢êÍfalseðÔ·D
+ *  休止状態から実行できる状態への遷移
+ *
+ *  p_tcbで指定されるタスクの状態を休止状態から実行できる状態とする．
+ *  実行できる状態に遷移したタスクへのディスパッチが必要な場合はtrue，
+ *  そうでない場合はfalseを返す．
  */
 extern bool_t	make_active(TCB *p_tcb);
 
 /*
- *  ^XNÌDæxÌÏX
- *
- *  p_tcbÅwè³êé^XNÌDæxðnewpriià\»jÉÏX·éDÜ½C
- *  KvÈêÉÍÅDæÊÌ^XNðXVµCfBXpb`ÂóÔÅ
- *   êÎtrueðÔ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  タスクの優先度の変更
+ *
+ *  p_tcbで指定されるタスクの優先度をnewpri（内部表現）に変更する．また，
+ *  必要な場合には最高優先順位のタスクを更新し，ディスパッチ許可状態で
+ *  あればtrueを返す．そうでない場合はfalseを返す．
  */
 extern bool_t	change_priority(TCB *p_tcb, uint_t newpri);
 
 /*
- *  fBL
-[Ìñ]
- *
- *  fBL
-[ÌCpriÅwè³êéDæxÌ^XNL
-[ðñ]³¹éD
- *  Ü½CKvÈêÉÍÅDæÊÌ^XNðÏXµCfBXpb`ªÛ
- *  ¯³êÄ¢È¯êÎtrueðÔ·D»¤ÅÈ¢êÍfalseðÔ·D
+ *  レディキューの回転
+ *
+ *  レディキュー中の，priで指定される優先度のタスクキューを回転させる．
+ *  また，必要な場合には最高優先順位のタスクを変更し，ディスパッチが保
+ *  留されていなければtrueを返す．そうでない場合はfalseを返す．
  */
 extern bool_t	rotate_ready_queue(uint_t pri);
 
 /*
- *  ^XNáO[`ÌÄoµ
- *
- *  ^XNáO[`ðÄÑo·DÄÑo·OÉCÀsóÔÌ^XNÌ
- *  Û¯áOvöðNAµC^XNáOÖ~óÔÉµCCPUbNðð
- *  ·éD
- *
- *  ^XNáO[`©çßéÆCÜ¸CPUbNóÔÉßµC»ÌÔ
- *  ÉÛ¯áOvöª0ÅÈ­ÈÁÄ¢êÎCÄÑ^XNáO[`ð
- *  ÄÑo·DÛ¯áOvöª0ÌêÉÍCáOÂóÔÉµÄÖ©
- *  ç^[·éD
- *
- *  ±ÌÖÍCÀsóÔÌ^XNªC^XNáOÂóÔienatexª
- *  truejÅCÛ¯áOvöª0ÅÈ¢itexptnª0ÅÈ¢jêÉÄÑo·±
- *  ÆðzèµÄ¢éD±ÌÖÍCCPUbNóÔÅÄÑo³È¯êÎÈç
- *  È¢D
+ *  タスク例外処理ルーチンの呼出し
+ *
+ *  タスク例外処理ルーチンを呼び出す．呼び出す前に，実行状態のタスクの
+ *  保留例外要因をクリアし，タスク例外処理禁止状態にし，CPUロックを解
+ *  除する．
+ *
+ *  タスク例外処理ルーチンから戻ると，まずCPUロック状態に戻し，その間
+ *  に保留例外要因が0でなくなっていれば，再びタスク例外処理ルーチンを
+ *  呼び出す．保留例外要因が0の場合には，例外処理許可状態にして関数か
+ *  らリターンする．
+ *
+ *  この関数は，実行状態のタスクが，タスク例外処理許可状態（enatexが
+ *  true）で，保留例外要因が0でない（texptnが0でない）場合に呼び出すこ
+ *  とを想定している．この関数は，CPUロック状態で呼び出さなければなら
+ *  ない．
  */
 extern void	call_texrtn(void);
 
 /*
- *  ^XNáO[`ÌN®
- *
- *  ÀsóÔÌ^XNª^XNáO[`ÌN®ðð½µÄ¢êÎC
- *  ^XNáO[`ðÄÑo·DCPUáO[`ðÄÑo·
- *  ÍCêIÉCPUbNðð·éD
- *
- *  ±ÌÖÍCfBXpb`âÝnh^CPUáOnhÌoû
- *  ©çÄÑo³êé±ÆðzèµÄ¢éD±ÌÖÍCCPUbNóÔ
- *  ÅÄÑo³È¯êÎÈçÈ¢D
- *
- *  Àsø¦ðã°é½ßÉC±ÌÖð^[QbgË¶ÅLqµÄàæ¢D
- *  »ÌêÉÍCOMIT_CALLTEXð}Nè`·éD
+ *  タスク例外処理ルーチンの起動
+ *
+ *  実行状態のタスクがタスク例外処理ルーチンの起動条件を満たしていれば，
+ *  タスク例外処理ルーチンを呼び出す．CPU例外処理ルーチンを呼び出す時
+ *  は，一時的にCPUロックを解除する．
+ *
+ *  この関数は，ディスパッチャや割込みハンドラ／CPU例外ハンドラの出口
+ *  処理から呼び出されることを想定している．この関数は，CPUロック状態
+ *  で呼び出さなければならない．
+ *
+ *  実行効率を上げるために，この関数をターゲット依存部で記述してもよい．
+ *  その場合には，OMIT_CALLTEXをマクロ定義する．
  */
 extern void	calltex(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_except.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_except.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_except.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNáO@\
+ *		タスク例外処理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_DEF_TEX_ENTER
@@ -113,5 +109,5 @@
 
 /*
- *  ^XNáO[`Ìè`
+ *  タスク例外処理ルーチンの定義
  */
 #ifdef TOPPERS_def_tex
@@ -175,5 +171,5 @@
 
 /*
- *  ^XNáOÌv
+ *  タスク例外処理の要求
  */
 #ifdef TOPPERS_ras_tex
@@ -215,5 +211,5 @@
 
 /*
- *  ^XNáOÌviñ^XNReLXgpj
+ *  タスク例外処理の要求（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iras_tex
@@ -255,5 +251,5 @@
 
 /*
- *  ^XNáOÌÖ~
+ *  タスク例外処理の禁止
  */
 #ifdef TOPPERS_dis_tex
@@ -285,5 +281,5 @@
 
 /*
- *  ^XNáOÌÂ
+ *  タスク例外処理の許可
  */
 #ifdef TOPPERS_ena_tex
@@ -318,5 +314,5 @@
 
 /*
- *  ^XNáOÖ~óÔÌQÆ
+ *  タスク例外処理禁止状態の参照
  */
 #ifdef TOPPERS_sns_tex
@@ -336,5 +332,5 @@
 
 /*
- *  ^XNáOÌóÔQÆ
+ *  タスク例外処理の状態参照
  */
 #ifdef TOPPERS_ref_tex
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_manage.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNÇ@\
+ *		タスク管理機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_ACRE_TSK_ENTER
@@ -138,10 +134,10 @@
 
 /*
- *  ^XNÌ¶¬
+ *  タスクの生成
  */
 #ifdef TOPPERS_acre_tsk
 
 #ifndef TARGET_MIN_STKSZ
-#define TARGET_MIN_STKSZ	1U		/* ¢è`ÌêÍ0ÅÈ¢±Æð`FbN */
+#define TARGET_MIN_STKSZ	1U		/* 未定義の場合は0でないことをチェック */
 #endif /* TARGET_MIN_STKSZ */
 
@@ -215,5 +211,5 @@
 
 /*
- *  ^XNÌí
+ *  タスクの削除
  */
 #ifdef TOPPERS_del_tsk
@@ -261,5 +257,5 @@
 
 /*
- *  ^XNÌN®
+ *  タスクの起動
  */
 #ifdef TOPPERS_act_tsk
@@ -303,5 +299,5 @@
 
 /*
- *  ^XNÌN®iñ^XNReLXgpj
+ *  タスクの起動（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iact_tsk
@@ -345,5 +341,5 @@
 
 /*
- *  ^XNN®vÌLZ
+ *  タスク起動要求のキャンセル
  */
 #ifdef TOPPERS_can_act
@@ -378,5 +374,5 @@
 
 /*
- *  ©^XNÌI¹
+ *  自タスクの終了
  */
 #ifdef TOPPERS_ext_tsk
@@ -392,7 +388,7 @@
 	if (t_sense_lock()) {
 		/*
-		 *  CPUbNóÔÅext_tskªÄÎê½êÍCCPUbNððµ
-		 *  Ä©ç^XNðI¹·éDÀãÍCT[rXR[àÅÌCPU
-		 *  bNðÈª·êÎæ¢¾¯D
+		 *  CPUロック状態でext_tskが呼ばれた場合は，CPUロックを解除し
+		 *  てからタスクを終了する．実装上は，サービスコール内でのCPU
+		 *  ロックを省略すればよいだけ．
 		 */
 	}
@@ -402,6 +398,6 @@
 	if (disdsp) {
 		/*
-		 *  fBXpb`Ö~óÔÅext_tskªÄÎê½êÍCfBXpb
-		 *  `ÂóÔÉµÄ©ç^XNðI¹·éD
+		 *  ディスパッチ禁止状態でext_tskが呼ばれた場合は，ディスパッ
+		 *  チ許可状態にしてからタスクを終了する．
 		 */
 		disdsp = false;
@@ -409,7 +405,7 @@
 	if (!ipmflg) {
 		/*
-		 *  ÝDæx}XNiIPMjªTIPM_ENAALLÈOÌóÔÅext_tsk
-		 *  ªÄÎê½êÍCIPMðTIPM_ENAALLÉµÄ©ç^XNðI¹·
-		 *  éD
+		 *  割込み優先度マスク（IPM）がTIPM_ENAALL以外の状態でext_tsk
+		 *  が呼ばれた場合は，IPMをTIPM_ENAALLにしてからタスクを終了す
+		 *  る．
 		 */
 		t_set_ipm(TIPM_ENAALL);
@@ -435,5 +431,5 @@
 
 /*
- *  ^XNÌ­§I¹
+ *  タスクの強制終了
  */
 #ifdef TOPPERS_ter_tsk
@@ -461,7 +457,7 @@
 		if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 			/*
-			 *  p_tcbÍ©^XNÅÈ¢½ßCiVOvZbTÅÍjÀ
-			 *  sóÔÅÈ­Cmake_non_runnable(p_tcb)Å^XNfBXpb
-			 *  `ªKvÉÈé±ÆÍÈ¢D
+			 *  p_tcbは自タスクでないため，（シングルプロセッサでは）実
+			 *  行状態でなく，make_non_runnable(p_tcb)でタスクディスパッ
+			 *  チが必要になることはない．
 			 */
 			(void) make_non_runnable(p_tcb);
@@ -490,5 +486,5 @@
 
 /*
- *  ^XNÌx[XDæxÌÏX
+ *  タスクのベース優先度の変更
  */
 #ifdef TOPPERS_chg_pri
@@ -532,5 +528,5 @@
 
 /*
- *  ^XNDæxÌQÆ
+ *  タスク優先度の参照
  */
 #ifdef TOPPERS_get_pri
@@ -568,5 +564,5 @@
 
 /*
- *  ©^XNÌg£îñÌQÆ
+ *  自タスクの拡張情報の参照
  */
 #ifdef TOPPERS_get_inf
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_refer.c	(revision 167)
@@ -7,36 +7,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -44,5 +40,5 @@
 
 /*
- *		^XNÌóÔQÆ@\
+ *		タスクの状態参照機能
  */
 
@@ -60,5 +56,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_REF_TSK_ENTER
@@ -71,5 +67,5 @@
 
 /*
- *  ^XNÌóÔQÆ
+ *  タスクの状態参照
  */
 #ifdef TOPPERS_ref_tsk
@@ -95,5 +91,5 @@
 		if (TSTAT_DORMANT(tstat)) {
 			/*
-	 		 *  ÎÛ^XNªx~óÔÌê
+	 		 *  対象タスクが休止状態の場合
 			 */
 			pk_rtsk->tskstat = TTS_DMT;
@@ -101,5 +97,5 @@
 		else {
 			/*
-	 		 *  ^XNóÔÌæoµ
+	 		 *  タスク状態の取出し
 			 */
 			if (TSTAT_SUSPENDED(tstat)) {
@@ -122,5 +118,5 @@
 
 			/*
-	 		 *  »ÝDæxÆx[XDæxÌæoµ
+	 		 *  現在優先度とベース優先度の取出し
 			 */
 			pk_rtsk->tskpri = EXT_TSKPRI(p_tcb->priority);
@@ -129,5 +125,5 @@
 			if (TSTAT_WAITING(tstat)) {
 				/*
-		 		 *  Ò¿vöÆÒ¿ÎÛÌIuWFNgÌIDÌæoµ
+		 		 *  待ち要因と待ち対象のオブジェクトのIDの取出し
 				 */
 				switch (tstat & TS_WAIT_MASK) {
@@ -181,5 +177,5 @@
 
 				/*
-		 		 *  ^CAEg·éÜÅÌÔÌæoµ
+		 		 *  タイムアウトするまでの時間の取出し
 				 */
 				if (p_tcb->p_winfo->p_tmevtb != NULL) {
@@ -193,6 +189,5 @@
 
 			/*
-	 		 *  N°vL
-[COÌæoµ
+	 		 *  起床要求キューイング数の取出し
 			 */
 			pk_rtsk->wupcnt = p_tcb->wupque ? 1U : 0U;
@@ -200,6 +195,5 @@
 
 		/*
-		 *  N®vL
-[COÌæoµ
+		 *  起動要求キューイング数の取出し
 		 */
 		pk_rtsk->actcnt = p_tcb->actque ? 1U : 0U;
Index: UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/task_sync.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		^XNt®¯ú@\
+ *		タスク付属同期機能
  */
 
@@ -55,5 +51,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_SLP_TSK_ENTER
@@ -138,5 +134,5 @@
 
 /*
- *  N°Ò¿
+ *  起床待ち
  */
 #ifdef TOPPERS_slp_tsk
@@ -173,5 +169,5 @@
 
 /*
- *  N°Ò¿i^CAEg èj
+ *  起床待ち（タイムアウトあり）
  */
 #ifdef TOPPERS_tslp_tsk
@@ -213,5 +209,5 @@
 
 /*
- *  ^XNÌN°
+ *  タスクの起床
  */
 #ifdef TOPPERS_wup_tsk
@@ -258,5 +254,5 @@
 
 /*
- *  ^XNÌN°iñ^XNReLXgpj
+ *  タスクの起床（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_iwup_tsk
@@ -303,5 +299,5 @@
 
 /*
- *  ^XNN°vÌLZ
+ *  タスク起床要求のキャンセル
  */
 #ifdef TOPPERS_can_wup
@@ -339,5 +335,5 @@
 
 /*
- *  Ò¿óÔÌ­§ð
+ *  待ち状態の強制解除
  */
 #ifdef TOPPERS_rel_wai
@@ -377,5 +373,5 @@
 
 /*
- *  Ò¿óÔÌ­§ðiñ^XNReLXgpj
+ *  待ち状態の強制解除（非タスクコンテキスト用）
  */
 #ifdef TOPPERS_irel_wai
@@ -415,5 +411,5 @@
 
 /*
- *  ­§Ò¿óÔÖÌÚs
+ *  強制待ち状態への移行
  */
 #ifdef TOPPERS_sus_tsk
@@ -442,5 +438,5 @@
 	else if (TSTAT_RUNNABLE(p_tcb->tstat)) {
 		/*
-		 *  ÀsÅ«éóÔ©ç­§Ò¿óÔÖÌJÚ
+		 *  実行できる状態から強制待ち状態への遷移
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -456,5 +452,5 @@
 	else {
 		/*
-		 *  Ò¿óÔ©çñdÒ¿óÔÖÌJÚ
+		 *  待ち状態から二重待ち状態への遷移
 		 */
 		p_tcb->tstat |= TS_SUSPENDED;
@@ -472,5 +468,5 @@
 
 /*
- *  ­§Ò¿óÔ©çÌÄJ
+ *  強制待ち状態からの再開
  */
 #ifdef TOPPERS_rsm_tsk
@@ -496,5 +492,5 @@
 	else if (!TSTAT_WAITING(p_tcb->tstat)) {
 		/*
-		 *  ­§Ò¿óÔ©çÀsÅ«éóÔÖÌJÚ
+		 *  強制待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -507,5 +503,5 @@
 	else {
 		/*
-		 *  ñdÒ¿óÔ©çÒ¿óÔÖÌJÚ
+		 *  二重待ち状態から待ち状態への遷移
 		 */
 		p_tcb->tstat &= ~TS_SUSPENDED;
@@ -523,5 +519,5 @@
 
 /*
- *  ©^XNÌx
+ *  自タスクの遅延
  */
 #ifdef TOPPERS_dly_tsk
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_event.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_event.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_event.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		^CCxgÇW
-[
+ *		タイムイベント管理モジュール
  */
 
@@ -54,16 +49,16 @@
 
 /*
- *  ^CCxgq[vì}N
- */
-#define	PARENT(index)		((index) >> 1)		/* em[hðßé */
-#define	LCHILD(index)		((index) << 1)		/* ¶Ìqm[hðßé */
+ *  タイムイベントヒープ操作マクロ
+ */
+#define	PARENT(index)		((index) >> 1)		/* 親ノードを求める */
+#define	LCHILD(index)		((index) << 1)		/* 左の子ノードを求める */
 #define	TMEVT_NODE(index)	(tmevt_heap[(index) - 1])
 
 /*
- *  Cxg­¶är}N
- *
- *  Cxg­¶ÍCmin_time©çÌÎlÅär·éD·Èí¿C
- *  min_timeðÅ¬liÅàß¢jCmit_time-1ªÅåliÅà¢j
- *  ÆÝÈµÄär·éD
+ *  イベント発生時刻比較マクロ
+ *
+ *  イベント発生時刻は，min_timeからの相対値で比較する．すなわち，
+ *  min_timeを最小値（最も近い時刻），mit_time-1が最大値（最も遠い時刻）
+ *  とみなして比較する．
  */
 #define	EVTTIM_LT(t1, t2) (((t1) - min_time) < ((t2) - min_time))
@@ -73,22 +68,22 @@
 
 /*
- *  »ÝÌVXeiPÊ: 1~bj
- *
- *  µ§ÉÍCOÌ^CeBbNÌVXeD
+ *  現在のシステム時刻（単位: 1ミリ秒）
+ *
+ *  厳密には，前のタイムティックのシステム時刻．
  */
 EVTTIM	current_time;
 
 /*
- *  ^CCxgq[vÅLøÈÅ¬ÌVXeiPÊ: 1~bj
+ *  タイムイベントヒープ中で有効な最小のシステム時刻（単位: 1ミリ秒）
  */
 EVTTIM	min_time;
 
 /*
- *  Ì^CeBbNÌVXeiPÊ: 1~bj
+ *  次のタイムティックのシステム時刻（単位: 1ミリ秒）
  */
 EVTTIM	next_time;
 
 /*
- *  VXeÏZpÏiPÊ: 1/TIC_DENO~bj
+ *  システム時刻積算用変数（単位: 1/TIC_DENOミリ秒）
  */
 #if TIC_DENO != 1U
@@ -97,11 +92,10 @@
 
 /*
- *  ^CCxgq[vÌÅãÌgpÌæÌCfbNX
+ *  タイムイベントヒープの最後の使用領域のインデックス
  */
 uint_t	last_index;
 
 /*
- *  ^C}W
-[Ìú»
+ *  タイマモジュールの初期化
  */
 void
@@ -120,9 +114,9 @@
 
 /*
- *  ^CCxgÌ}üÊuðãü«ÉTõ
- *
- *  timeÉ­¶·é^CCxgð}ü·ém[hðó¯é½ßÉC
- *  q[vÌãÉü©ÁÄóm[hðÚ®³¹éDÚ®OÌóm[hÌÊuð
- *  indexÉn·ÆCÚ®ãÌóm[hÌÊui·Èí¿}üÊujðÔ·D
+ *  タイムイベントの挿入位置を上向きに探索
+ *
+ *  時刻timeに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの上に向かって空ノードを移動させる．移動前の空ノードの位置を
+ *  indexに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmeup
@@ -135,6 +129,6 @@
 	while (index > 1) {
 		/*
-		 *  em[hÌCxg­¶Ìûª¢iÜ½Í¯¶jÈçÎC
-		 *  indexª}üÊuÈÌÅ[vð²¯éD
+		 *  親ノードのイベント発生時刻の方が早い（または同じ）ならば，
+		 *  indexが挿入位置なのでループを抜ける．
 		 */
 		parent = PARENT(index);
@@ -144,5 +138,5 @@
 
 		/*
-		 *  em[hðindexÌÊuÉÚ®³¹éD
+		 *  親ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(parent);
@@ -150,5 +144,5 @@
 
 		/*
-		 *  indexðem[hÌÊuÉXVD
+		 *  indexを親ノードの位置に更新．
 		 */
 		index = parent;
@@ -160,9 +154,9 @@
 
 /*
- *  ^CCxgÌ}üÊuðºü«ÉTõ
- *
- *  timeÉ­¶·é^CCxgð}ü·ém[hðó¯é½ßÉC
- *  q[vÌºÉü©ÁÄóm[hðÚ®³¹éDÚ®OÌóm[hÌÊuð 
- *  indexÉn·ÆCÚ®ãÌóm[hÌÊui·Èí¿}üÊujðÔ·D
+ *  タイムイベントの挿入位置を下向きに探索
+ *
+ *  時刻timeに発生するタイムイベントを挿入するノードを空けるために，
+ *  ヒープの下に向かって空ノードを移動させる．移動前の空ノードの位置を 
+ *  indexに渡すと，移動後の空ノードの位置（すなわち挿入位置）を返す．
  */
 #ifdef TOPPERS_tmedown
@@ -175,7 +169,7 @@
 	while ((child = LCHILD(index)) <= last_index) {
 		/*
-		 *  ¶EÌqm[hÌCxg­¶ðärµC¢ûÌqm[h
-		 *  ÌÊuðchildÉÝè·éDÈºÌqm[hÍC±±ÅIÎê½û
-		 *  Ìqm[hÌ±ÆD
+		 *  左右の子ノードのイベント発生時刻を比較し，早い方の子ノード
+		 *  の位置をchildに設定する．以下の子ノードは，ここで選ばれた方
+		 *  の子ノードのこと．
 		 */
 		if (child + 1 <= last_index
@@ -186,6 +180,6 @@
 
 		/*
-		 *  qm[hÌCxg­¶Ìûªx¢iÜ½Í¯¶jÈçÎC
-		 *  indexª}üÊuÈÌÅ[vð²¯éD
+		 *  子ノードのイベント発生時刻の方が遅い（または同じ）ならば，
+		 *  indexが挿入位置なのでループを抜ける．
 		 */
 		if (EVTTIM_LE(time, TMEVT_NODE(child).time)) {
@@ -194,5 +188,5 @@
 
 		/*
-		 *  qm[hðindexÌÊuÉÚ®³¹éD
+		 *  子ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(child);
@@ -200,5 +194,5 @@
 
 		/*
-		 *  indexðqm[hÌÊuÉXVD
+		 *  indexを子ノードの位置に更新．
 		 */
 		index = child;
@@ -210,8 +204,8 @@
 
 /*
- *  ^CCxgq[vÖÌo^
- *
- *  p_tmevtbÅwèµ½^CCxgubNðCtimeÅwèµ½Ôªo
- *  ßãÉCxgª­¶·éæ¤ÉC^CCxgq[vÉo^·éD
+ *  タイムイベントヒープへの登録
+ *
+ *  p_tmevtbで指定したタイムイベントブロックを，timeで指定した時間が経
+ *  過後にイベントが発生するように，タイムイベントヒープに登録する．
  */
 #ifdef TOPPERS_tmeins
@@ -223,10 +217,10 @@
 
 	/*
-	 *  last_indexðCNgµC»±©çãÉ}üÊuðT·D
+	 *  last_indexをインクリメントし，そこから上に挿入位置を探す．
 	 */
 	index = tmevt_up(++last_index, time);
 
 	/*
-	 *  ^CCxgðindexÌÊuÉ}ü·éD
+	 *  タイムイベントをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index).time = time;
@@ -238,5 +232,5 @@
 
 /*
- *  ^CCxgq[v©çÌí
+ *  タイムイベントヒープからの削除
  */
 #ifdef TOPPERS_tmedel
@@ -250,5 +244,5 @@
 
 	/*
-	 *  íÉæè^CCxgq[vªóÉÈéêÍ½àµÈ¢D
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--last_index == 0) {
@@ -257,17 +251,17 @@
 
 	/*
-	 *  íµ½m[hÌÊuÉÅãÌm[hilast_index+1ÌÊuÌm[hj
-	 *  ð}üµC»êðKØÈÊuÖÚ®³¹éDÀÛÉÍCÅãÌm[h
-	 *  ðÀÛÉ}ü·éÌÅÍÈ­Cíµ½m[hÌÊuªóm[hÉÈ
-	 *  éÌÅCÅãÌm[hð}ü·×«ÊuÖü¯Äóm[hðÚ®³¹
-	 *  éD
-	 *  ÅãÌm[hÌCxg­¶ªCíµ½m[hÌem[hÌC
-	 *  xg­¶æèOÌêÉÍCãÉü©ÁÄ}üÊuðT·D»
-	 *  ¤ÅÈ¢êÉÍCºÉü©ÁÄT·D
+	 *  削除したノードの位置に最後のノード（last_index+1の位置のノード）
+	 *  を挿入し，それを適切な位置へ移動させる．実際には，最後のノード
+	 *  を実際に挿入するのではなく，削除したノードの位置が空ノードにな
+	 *  るので，最後のノードを挿入すべき位置へ向けて空ノードを移動させ
+	 *  る．
+	 *  最後のノードのイベント発生時刻が，削除したノードの親ノードのイ
+	 *  ベント発生時刻より前の場合には，上に向かって挿入位置を探す．そ
+	 *  うでない場合には，下に向かって探す．
 	 */
 	if (index > 1 && EVTTIM_LT(event_time,
 								TMEVT_NODE(parent = PARENT(index)).time)) {
 		/*
-		 *  em[hðindexÌÊuÉÚ®³¹éD
+		 *  親ノードをindexの位置に移動させる．
 		 */
 		TMEVT_NODE(index) = TMEVT_NODE(parent);
@@ -275,5 +269,5 @@
 
 		/*
-		 *  íµ½m[hÌem[h©çãÉü©ÁÄ}üÊuðT·D
+		 *  削除したノードの親ノードから上に向かって挿入位置を探す．
 		 */
 		index = tmevt_up(parent, event_time);
@@ -281,5 +275,5 @@
 	else {
 		/*
-		 *  íµ½m[h©çºÉü©ÁÄ}üÊuðT·D
+		 *  削除したノードから下に向かって挿入位置を探す．
 		 */
 		index = tmevt_down(index, event_time);
@@ -287,5 +281,5 @@
 
 	/*
-	 *  ÅãÌm[hðindexÌÊuÉ}ü·éD
+	 *  最後のノードをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
@@ -296,5 +290,5 @@
 
 /*
- *  ^CCxgq[vÌæªÌm[hÌí
+ *  タイムイベントヒープの先頭のノードの削除
  */
 Inline void
@@ -305,5 +299,5 @@
 
 	/*
-	 *  íÉæè^CCxgq[vªóÉÈéêÍ½àµÈ¢D
+	 *  削除によりタイムイベントヒープが空になる場合は何もしない．
 	 */
 	if (--last_index == 0) {
@@ -312,13 +306,13 @@
 
 	/*
-	 *  [gm[hÉÅãÌm[hilast_index + 1 ÌÊuÌm[hjð
-	 *  }üµC»êðKØÈÊuÖÚ®³¹éDÀÛÉÍCÅãÌm[hð
-	 *  ÀÛÉ}ü·éÌÅÍÈ­C[gm[hªóm[hÉÈéÌÅCÅ
-	 *  ãÌm[hð}ü·×«ÊuÖü¯Äóm[hðÚ®³¹éD
+	 *  ルートノードに最後のノード（last_index + 1 の位置のノード）を
+	 *  挿入し，それを適切な位置へ移動させる．実際には，最後のノードを
+	 *  実際に挿入するのではなく，ルートノードが空ノードになるので，最
+	 *  後のノードを挿入すべき位置へ向けて空ノードを移動させる．
 	 */
 	index = tmevt_down(1, event_time);
 
 	/*
-	 *  ÅãÌm[hðindexÌÊuÉ}ü·éD
+	 *  最後のノードをindexの位置に挿入する．
 	 */ 
 	TMEVT_NODE(index) = TMEVT_NODE(last_index + 1);
@@ -327,5 +321,5 @@
 
 /*
- *  ^CCxgÜÅÌcèÔÌvZ
+ *  タイムイベントまでの残り時間の計算
  */
 #ifdef TOPPERS_tmeltim
@@ -339,5 +333,5 @@
 	if (EVTTIM_LE(time, next_time)) {
 		/*
-		 *  Ì^CeBbNÅ³êéêÉÍ0ðÔ·D
+		 *  次のタイムティックで処理される場合には0を返す．
 		 */
 		return(0U);
@@ -351,5 +345,5 @@
 
 /*
- *  ^CeBbNÌ
+ *  タイムティックの供給
  */
 #ifdef TOPPERS_sigtim
@@ -366,10 +360,10 @@
 
 	/*
-	 *  current_timeðXV·éD
+	 *  current_timeを更新する．
 	 */
 	current_time = next_time;
 
 	/*
-	 *  next_timeCnext_subtimeðXV·éD
+	 *  next_time，next_subtimeを更新する．
 	 */
 #if TIC_DENO == 1U
@@ -385,7 +379,7 @@
 
 	/*
-	 *  current_timeæèCxg­¶Ì¢iÜ½Í¯¶j^CCx
-	 *  gðC^CCxgq[v©çíµCR[obNÖðÄÑ
-	 *  o·D
+	 *  current_timeよりイベント発生時刻の早い（または同じ）タイムイベ
+	 *  ントを，タイムイベントヒープから削除し，コールバック関数を呼び
+	 *  出す．
 	 */
 	while (last_index > 0 && EVTTIM_LE(TMEVT_NODE(1).time, current_time)) {
@@ -396,5 +390,5 @@
 
 	/*
-	 *  min_timeðXV·éD
+	 *  min_timeを更新する．
 	 */
 	min_time = current_time;
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_event.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_event.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_event.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		^CCxgÇW
-[
+ *		タイムイベント管理モジュール
  */
 
@@ -54,64 +49,61 @@
 
 /*
- *  Cxg­¶Ìf[^^Ìè`
- *
- *  EVTTIMÍCRELTIMÆµÄwèÅ«éÍÍæèàL¢ÍÍð\»Å«éKv
- *  ª éDÊITRON4.0dlÌX^_[hvt@CÅÍCRELTIMª16rb
- *  gÈãÅÈ¯êÎÈçÈ¢½ßCEVTTIMÍ17rbgÈãÅ é±ÆªKv
- *  Å éD»Ì½ßC16rbgÉÈéêª éuint_tÅÍÈ­Culong_tÉ
- *  è`µÄ¢éD
+ *  イベント発生時刻のデータ型の定義
+ *
+ *  EVTTIMは，RELTIMとして指定できる範囲よりも広い範囲を表現できる必要
+ *  がある．μITRON4.0仕様のスタンダードプロファイルでは，RELTIMが16ビッ
+ *  ト以上でなければならないため，EVTTIMは17ビット以上であることが必要
+ *  である．そのため，16ビットになる場合があるuint_tではなく，ulong_tに
+ *  定義している．
  */
 typedef ulong_t	EVTTIM;
 
 /* 
- *  ^CCxgubNÌf[^^Ìè`
- */
-typedef void	(*CBACK)(void *);	/* R[obNÖÌ^ */
+ *  タイムイベントブロックのデータ型の定義
+ */
+typedef void	(*CBACK)(void *);	/* コールバック関数の型 */
 
 typedef struct time_event_block {
-	uint_t	index;			/* ^CCxgq[vÅÌÊu */
-	CBACK	callback;		/* R[obNÖ */
-	void	*arg;			/* R[obNÖÖn·ø */
+	uint_t	index;			/* タイムイベントヒープ中での位置 */
+	CBACK	callback;		/* コールバック関数 */
+	void	*arg;			/* コールバック関数へ渡す引数 */
 } TMEVTB;
 
 /*
- *  ^CCxgq[vÌm[hÌf[^^Ìè`
+ *  タイムイベントヒープ中のノードのデータ型の定義
  */
 typedef struct time_event_node {
-	EVTTIM	time;			/* Cxg­¶ */
-	TMEVTB	*p_tmevtb;		/* Î·é^CCxgubN */
+	EVTTIM	time;			/* イベント発生時刻 */
+	TMEVTB	*p_tmevtb;		/* 対応するタイムイベントブロック */
 } TMEVTN;
 
 /*
- *  ^CCxgq[vikernel_cfg.cj
+ *  タイムイベントヒープ（kernel_cfg.c）
  */
 extern TMEVTN	tmevt_heap[];
 
 /*
- *  »ÝÌVXeiPÊ: 1~bj
- *
- *  VXeN®É0Éú»³êCÈ~C^CeBbNª³êéxÉ
- *  P²ÉÁ·éD
+ *  現在のシステム時刻（単位: 1ミリ秒）
+ *
+ *  システム起動時に0に初期化され，以降，タイムティックが供給される度に
+ *  単調に増加する．
  */
 extern EVTTIM	current_time;
 
 /*
- *  ^CCxgq[vÅLøÈÅ¬ÌVXeiPÊ: 1~bj
+ *  タイムイベントヒープ中で有効な最小のシステム時刻（単位: 1ミリ秒）
  */
 extern EVTTIM	min_time;
 
 /*
- *  Ì^CeBbNÌVXeiPÊ: 1~bj
+ *  次のタイムティックのシステム時刻（単位: 1ミリ秒）
  */
 extern EVTTIM	next_time;
 
 /*
- *  VXeÏZpÏiPÊ: 1/TIC_DENO~bj
- *
- *  Ì^CeBbNÌVXeÌºÊ
-ð¦·iãÊ
-Ínext_timejD
- *  TIC_DENOª1ÌÍCºÊ
-ÍíÉ0Å é½ßC±ÌÏÍKvÈ¢D
+ *  システム時刻積算用変数（単位: 1/TIC_DENOミリ秒）
+ *
+ *  次のタイムティックのシステム時刻の下位桁を示す（上位桁はnext_time）．
+ *  TIC_DENOが1の時は，下位桁は常に0であるため，この変数は必要ない．
  */
 #if TIC_DENO != 1U
@@ -120,8 +112,8 @@
 
 /*
- *  ÎÔÌîiPÊ: 1~bj
- *
- *  Ì^CeBbNÌVXeðØèã°½DTIC_DENOª1Ì
- *  ÍCnext_timeÉêv·éD
+ *  相対時間の基準時刻（単位: 1ミリ秒）
+ *
+ *  次のタイムティックのシステム時刻を切り上げた時刻．TIC_DENOが1の時
+ *  は，next_timeに一致する．
  */
 #if TIC_DENO == 1U
@@ -132,18 +124,17 @@
 
 /*
- *  ^CCxgq[vÌÅãÌgpÌæÌCfbNX
- *
- *  ^CCxgq[vÉo^³êÄ¢é^CCxgÌÉêv·éD
+ *  タイムイベントヒープの最後の使用領域のインデックス
+ *
+ *  タイムイベントヒープに登録されているタイムイベントの数に一致する．
  */
 extern uint_t	last_index;
 
 /*
- *  ^CCxgÇW
-[Ìú»
+ *  タイムイベント管理モジュールの初期化
  */
 extern void	initialize_tmevt(void);
 
 /*
- *  ^CCxgÌ}üÊuÌTõ
+ *  タイムイベントの挿入位置の探索
  */
 extern uint_t	tmevt_up(uint_t index, EVTTIM time);
@@ -151,5 +142,5 @@
 
 /*
- *  ^CCxgq[vÖÌo^Æí
+ *  タイムイベントヒープへの登録と削除
  */
 extern void	tmevtb_insert(TMEVTB *p_tmevtb, EVTTIM time);
@@ -157,9 +148,9 @@
 
 /*
- *  ^CCxgubNÌo^iÎÔwèj
- *
- *  timeÅwèµ½ÎÔªoßµ½ãÉCargðøÆµÄcallbackªÄ
- *  Ño³êéæ¤ÉCp_tmevtbÅwèµ½^CCxgubNðo^·
- *  éD
+ *  タイムイベントブロックの登録（相対時間指定）
+ *
+ *  timeで指定した相対時間が経過した後に，argを引数としてcallbackが呼
+ *  び出されるように，p_tmevtbで指定したタイムイベントブロックを登録す
+ *  る．
  *  
  */
@@ -175,8 +166,8 @@
 
 /*
- *  ^CCxgubNÌo^iCxg­¶wèj
- *
- *  timeÅwèµ½Cxg­¶ÉCargðøÆµÄcallbackªÄÑo
- *  ³êéæ¤ÉCp_tmevtbÅwèµ½^CCxgubNðo^·éD
+ *  タイムイベントブロックの登録（イベント発生時刻指定）
+ *
+ *  timeで指定したイベント発生時刻に，argを引数としてcallbackが呼び出
+ *  されるように，p_tmevtbで指定したタイムイベントブロックを登録する．
  */
 Inline void
@@ -189,5 +180,5 @@
 
 /*
- *  ^CCxgubNÌo^ð
+ *  タイムイベントブロックの登録解除
  */
 Inline void
@@ -198,10 +189,10 @@
 
 /*
- *  ^CCxgÜÅÌcèÔÌvZ
+ *  タイムイベントまでの残り時間の計算
  */
 extern RELTIM	tmevt_lefttim(TMEVTB *p_tmevtb);
 
 /*
- *  ^CeBbNÌ
+ *  タイムティックの供給
  */
 extern void	signal_time(void);
Index: UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/time_manage.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  $Id$
@@ -46,5 +42,5 @@
 
 /*
- *		VXeÇ@\
+ *		システム時刻管理機能
  */
 
@@ -54,5 +50,5 @@
 
 /*
- *  g[XO}NÌftHgè`
+ *  トレースログマクロのデフォルト定義
  */
 #ifndef LOG_GET_TIM_ENTER
@@ -73,5 +69,5 @@
 
 /*
- *  VXeÌQÆ
+ *  システム時刻の参照
  */
 #ifdef TOPPERS_get_tim
@@ -98,5 +94,5 @@
 
 /*
- *  «\]¿pVXeÌQÆ
+ *  性能評価用システム時刻の参照
  */
 #ifdef TOPPERS_get_utm
Index: UsbWattMeter/trunk/asp_dcre/kernel/wait.c
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/wait.c	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/wait.c	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		Ò¿óÔÇW
-[
+ *		待ち状態管理モジュール
  */
 
@@ -54,5 +49,5 @@
 
 /*
- *  Ò¿óÔÖÌJÚi^CAEgwèj
+ *  待ち状態への遷移（タイムアウト指定）
  */
 #ifdef TOPPERS_waimake
@@ -77,5 +72,5 @@
 
 /*
- *  Ò¿ð
+ *  待ち解除
  */
 #ifdef TOPPERS_waicmp
@@ -92,5 +87,5 @@
 
 /*
- *  ^CAEgÉº¤Ò¿ð
+ *  タイムアウトに伴う待ち解除
  */
 #ifdef TOPPERS_waitmo
@@ -106,5 +101,5 @@
 
 	/*
-	 *  ±±ÅDæxÌ¢Ýðó¯t¯éD
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	i_unlock_cpu();
@@ -124,5 +119,5 @@
 
 	/*
-	 *  ±±ÅDæxÌ¢Ýðó¯t¯éD
+	 *  ここで優先度の高い割込みを受け付ける．
 	 */
 	i_unlock_cpu();
@@ -133,5 +128,5 @@
 
 /*
- *  Ò¿óÔÌ­§ð
+ *  待ち状態の強制解除
  */
 #ifdef TOPPERS_wairel
@@ -149,10 +144,8 @@
 
 /*
- *  ÀsÌ^XNÌ¯úEÊMIuWFNgÌÒ¿L
-[ÖÌ}ü
+ *  実行中のタスクの同期・通信オブジェクトの待ちキューへの挿入
  *
- *  ÀsÌ^XNðC¯úEÊMIuWFNgÌÒ¿L
-[Ö}ü·éDI
- *  uWFNgÌ®«É¶ÄCFIFOÜ½Í^XNDæxÅ}ü·éD
+ *  実行中のタスクを，同期・通信オブジェクトの待ちキューへ挿入する．オ
+ *  ブジェクトの属性に応じて，FIFO順またはタスク優先度順で挿入する．
  */
 Inline void
@@ -168,5 +161,5 @@
 
 /*
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÖÌJÚ
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  */
 #ifdef TOPPERS_wobjwai
@@ -197,6 +190,5 @@
 
 /*
- *  Ò¿L
-[Ìú»
+ *  待ちキューの初期化
  */
 #ifdef TOPPERS_iniwque
Index: UsbWattMeter/trunk/asp_dcre/kernel/wait.h
===================================================================
--- UsbWattMeter/trunk/asp_dcre/kernel/wait.h	(revision 164)
+++ UsbWattMeter/trunk/asp_dcre/kernel/wait.h	(revision 167)
@@ -9,36 +9,32 @@
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  * 
- *  ãLì ÒÍCÈºÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF
- *  Ai{\tgEFAðüÏµ½àÌðÜÞDÈº¯¶jðgpE¡»Eü
- *  ÏEÄzziÈºCpÆÄÔj·é±Æð³Åø·éD
- *  (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì
- *       \¦C±Ìpð¨æÑºLÌ³ÛØKèªC»ÌÜÜÌ`Å\[
- *      XR[hÉÜÜêÄ¢é±ÆD
- *  (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«é`ÅÄzz·éêÉÍCÄzzÉº¤hL
-gip
- *      Ò}j
-AÈÇjÉCãLÌì \¦C±Ìpð¨æÑºL
- *      Ì³ÛØKèðfÚ·é±ÆD
- *  (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJ­Ég
- *      pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±
- *      ÆD
- *    (a) ÄzzÉº¤hL
-gipÒ}j
-AÈÇjÉCãLÌ
- *        ì \¦C±Ìpð¨æÑºLÌ³ÛØKèðfÚ·é±ÆD
- *    (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ
- *        ñ·é±ÆD
- *  (4) {\tgEFAÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶é¢©Èé¹
- *      Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD
- *      Ü½C{\tgEFAÌ[UÜ½ÍGh[U©çÌ¢©Èé
- *      RÉîÃ­¿©çàCãLì Ò¨æÑTOPPERSvWFNgð
- *      ÆÓ·é±ÆD
- * 
- *  {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨
- *  æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI
- *  ÉÎ·éK«àÜßÄC¢©ÈéÛØàsíÈ¢DÜ½C{\tgEF
- *  AÌpÉæè¼ÚIÜ½ÍÔÚIÉ¶¶½¢©Èé¹QÉÖµÄàC»
- *  ÌÓCðíÈ¢D
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  * 
  *  @(#) $Id$
@@ -46,6 +42,5 @@
 
 /*
- *		Ò¿óÔÇW
-[
+ *		待ち状態管理モジュール
  */
 
@@ -57,11 +52,8 @@
 
 /*
- *  ^XNÌDæxÌÒ¿L
-[ÖÌ}ü
- *
- *  p_tcbÅwè³êé^XNðC^XNDæxÌL
-[p_queueÉ}ü·éD
- *  L
-[ÌÉ¯¶DæxÌ^XNª éêÉÍC»ÌÅãÉ}ü·éD
+ *  タスクの優先度順の待ちキューへの挿入
+ *
+ *  p_tcbで指定されるタスクを，タスク優先度順のキューp_queueに挿入する．
+ *  キューの中に同じ優先度のタスクがある場合には，その最後に挿入する．
  */
 Inline void
@@ -81,10 +73,9 @@
 
 /*
- *  Ò¿óÔÖÌJÚ
- *
- *  ÀsÌ^XNðÒ¿óÔÉJÚ³¹éDïÌIÉÍCÀsÌ^XNð
- *  fBL
-[©çíµCTCBÌp_winfotB[hCWINFOÌp_tmevtbtB[
- *  hðÝè·éD
+ *  待ち状態への遷移
+ *
+ *  実行中のタスクを待ち状態に遷移させる．具体的には，実行中のタスクを
+ *  レディキューから削除し，TCBのp_winfoフィールド，WINFOのp_tmevtbフィー
+ *  ルドを設定する．
  */
 Inline void
@@ -97,21 +88,19 @@
 
 /*
- *  Ò¿óÔÖÌJÚi^CAEgwèj
- *
- *  ÀsÌ^XNðC^CAEgwèt«ÅÒ¿óÔÉJÚ³¹éDïÌ
- *  IÉÍCÀsÌ^XNðfBL
-[©çíµCTCBÌp_winfotB[
- *  hCWINFOÌp_tmevtbtB[hðÝè·éDÜ½C^CCxgu
- *  bNðo^·éD
+ *  待ち状態への遷移（タイムアウト指定）
+ *
+ *  実行中のタスクを，タイムアウト指定付きで待ち状態に遷移させる．具体
+ *  的には，実行中のタスクをレディキューから削除し，TCBのp_winfoフィー
+ *  ルド，WINFOのp_tmevtbフィールドを設定する．また，タイムイベントブ
+ *  ロックを登録する．
  */
 extern void	make_wait_tmout(WINFO *p_winfo, TMEVTB *p_tmevtb, TMO tmout);
 
 /*
- *  Ò¿ðÌ½ßÌ^XNóÔÌXV
- *
- *  p_tcbÅwè³êé^XNðCÒ¿ð·éæ¤^XNóÔðXV·éD
- *  Ò¿ð·é^XNªÀsÅ«éóÔÉÈéêÍCfBL
-[ÉÂÈ
- *  ®DÜ½CfBXpb`ªKvÈêÉÍtrueðÔ·D
+ *  待ち解除のためのタスク状態の更新
+ *
+ *  p_tcbで指定されるタスクを，待ち解除するようタスク状態を更新する．
+ *  待ち解除するタスクが実行できる状態になる場合は，レディキューにつな
+ *  ぐ．また，ディスパッチが必要な場合にはtrueを返す．
  */
 Inline bool_t
@@ -122,5 +111,5 @@
 	if (!TSTAT_SUSPENDED(p_tcb->tstat)) {
 		/*
-		 *  Ò¿óÔ©çÀsÅ«éóÔÖÌJÚ
+		 *  待ち状態から実行できる状態への遷移
 		 */
 		p_tcb->tstat = TS_RUNNABLE;
@@ -130,5 +119,5 @@
 	else {
 		/*
-		 *  ñdÒ¿óÔ©ç­§Ò¿óÔÖÌJÚ
+		 *  二重待ち状態から強制待ち状態への遷移
 		 */
 		p_tcb->tstat = TS_SUSPENDED;
@@ -139,11 +128,8 @@
 
 /*
- *  IuWFNgÒ¿L
-[©çÌí
- *
- *  p_tcbÅwè³êé^XNªC¯úEÊMIuWFNgÌÒ¿L
-[ÉÂ
- *  ÈªêÄ¢êÎCÒ¿L
-[©çí·éD
+ *  オブジェクト待ちキューからの削除
+ *
+ *  p_tcbで指定されるタスクが，同期・通信オブジェクトの待ちキューにつ
+ *  ながれていれば，待ちキューから削除する．
  */
 Inline void
@@ -156,8 +142,8 @@
 
 /*
- *  ÔÒ¿Ì½ßÌ^CCxgubNÌo^ð
- *
- *  p_tcbÅwè³êé^XNÉÎµÄCÔÒ¿Ì½ßÌ^CCxgu
- *  bNªo^³êÄ¢êÎC»êðo^ð·éD
+ *  時間待ちのためのタイムイベントブロックの登録解除
+ *
+ *  p_tcbで指定されるタスクに対して，時間待ちのためのタイムイベントブ
+ *  ロックが登録されていれば，それを登録解除する．
  */
 Inline void
@@ -170,31 +156,27 @@
 
 /*
- *  Ò¿ð
- *
- *  p_tcbÅwè³êé^XNÌÒ¿óÔðð·éDïÌIÉÍC^CC
- *  xgubNªo^³êÄ¢êÎC»êðo^ð·éDÜ½C^XN
- *  óÔðXVµCÒ¿ðµ½^XN©çÌÔlðE_OKÆ·éDÒ¿L
-[
- *  ©çÌíÍsíÈ¢DÒ¿ðµ½^XNÖÌfBXpb`ªKvÈê
- *  ÉÍtrueðÔ·D
+ *  待ち解除
+ *
+ *  p_tcbで指定されるタスクの待ち状態を解除する．具体的には，タイムイ
+ *  ベントブロックが登録されていれば，それを登録解除する．また，タスク
+ *  状態を更新し，待ち解除したタスクからの返値をE_OKとする．待ちキュー
+ *  からの削除は行わない．待ち解除したタスクへのディスパッチが必要な場
+ *  合にはtrueを返す．
  */
 extern bool_t	wait_complete(TCB *p_tcb);
 
 /*
- *  ^CAEgÉº¤Ò¿ð
- *
- *  p_tcbÅwè³êé^XNªCÒ¿L
-[ÉÂÈªêÄ¢êÎÒ¿L
-[
- *  ©çíµC^XNóÔðXV·éDÜ½CÒ¿ðµ½^XN©çÌÔ
- *  lðCwait_tmoutÅÍE_TMOUTCwait_tmout_okÅÍE_OKÆ·éDÒ¿ð
- *  µ½^XNÖÌfBXpb`ªKvÈÍCreqflgðtrueÉ·éD
- *
- *  wait_tmout_okÍCdly_tskÅg¤½ßÌàÌÅCÒ¿L
-[©çí·é
- *  ðsíÈ¢D
- *
- *  ¢¸êÌÖàC^CCxgÌR[obNÖÆµÄp¢é½ßÌ
- *  àÌÅCÝnh©çÄÑo³êé±ÆðzèµÄ¢éD
+ *  タイムアウトに伴う待ち解除
+ *
+ *  p_tcbで指定されるタスクが，待ちキューにつながれていれば待ちキュー
+ *  から削除し，タスク状態を更新する．また，待ち解除したタスクからの返
+ *  値を，wait_tmoutではE_TMOUT，wait_tmout_okではE_OKとする．待ち解除
+ *  したタスクへのディスパッチが必要な時は，reqflgをtrueにする．
+ *
+ *  wait_tmout_okは，dly_tskで使うためのもので，待ちキューから削除する
+ *  処理を行わない．
+ *
+ *  いずれの関数も，タイムイベントのコールバック関数として用いるための
+ *  もので，割込みハンドラから呼び出されることを想定している．
  */
 extern void	wait_tmout(TCB *p_tcb);
@@ -202,24 +184,19 @@
 
 /*
- *  Ò¿óÔÌ­§ð
- *
- *  p_tcbÅwè³êé^XNÌÒ¿óÔð­§IÉð·éDïÌIÉÍC
- *  ^XNªÒ¿L
-[ÉÂÈªêÄ¢êÎÒ¿L
-[©çíµC^CC
- *  xgubNªo^³êÄ¢êÎ»êðo^ð·éDÜ½C^XNÌ
- *  óÔðXVµCÒ¿ðµ½^XN©çÌÔlðE_RLWAIÆ·éDÜ½C
- *  Ò¿ðµ½^XNÖÌfBXpb`ªKvÈêÉÍtrueðÔ·D
+ *  待ち状態の強制解除
+ *
+ *  p_tcbで指定されるタスクの待ち状態を強制的に解除する．具体的には，
+ *  タスクが待ちキューにつながれていれば待ちキューから削除し，タイムイ
+ *  ベントブロックが登録されていればそれを登録解除する．また，タスクの
+ *  状態を更新し，待ち解除したタスクからの返値をE_RLWAIとする．また，
+ *  待ち解除したタスクへのディスパッチが必要な場合にはtrueを返す．
  */
 extern bool_t	wait_release(TCB *p_tcb);
 
 /*
- *  Ò¿L
-[ÌæªÌ^XNID
- *
- *  p_wait_queueÅwèµ½Ò¿L
-[ÌæªÌ^XNIDðÔ·DÒ¿L
-[
- *  ªóÌêÉÍCTSK_NONEðÔ·D
+ *  待ちキューの先頭のタスクID
+ *
+ *  p_wait_queueで指定した待ちキューの先頭のタスクIDを返す．待ちキュー
+ *  が空の場合には，TSK_NONEを返す．
  */
 Inline ID
@@ -235,53 +212,49 @@
 
 /*
- *  ¯úEÊMIuWFNgÌÇubNÌ¤Êªì[`
- *
- *  ¯úEÊMIuWFNgÌú»ubNÆÇubNÌæªªÍ¤
- *  ÊÉÈÁÄ¢éDÈºÍC»Ì¤Êªðµ¤½ßÌ^¨æÑ[`Q
- *  Å éD
- *
- *  ¡ÌÒ¿L
-[ðÂ¯úEÊMIuWFNgÌêCæªÈOÌÒ¿
- *  L
-[ðì·éêÉÍC±êçÌ[`Íg¦È¢DÜ½CIuWF
- *  Ng®«ÌTA_TPRIrbgðQÆ·éÌÅC±Ìrbgð¼ÌÚIÉgÁÄ
- *  ¢éêàC±êçÌ[`Íg¦È¢D
- */
-
-/*
- *  ¯úEÊMIuWFNgÌú»ubNÌ¤Êª
+ *  同期・通信オブジェクトの管理ブロックの共通部分操作ルーチン
+ *
+ *  同期・通信オブジェクトの初期化ブロックと管理ブロックの先頭部分は共
+ *  通になっている．以下は，その共通部分を扱うための型およびルーチン群
+ *  である．
+ *
+ *  複数の待ちキューを持つ同期・通信オブジェクトの場合，先頭以外の待ち
+ *  キューを操作する場合には，これらのルーチンは使えない．また，オブジェ
+ *  クト属性のTA_TPRIビットを参照するので，このビットを他の目的に使って
+ *  いる場合も，これらのルーチンは使えない．
+ */
+
+/*
+ *  同期・通信オブジェクトの初期化ブロックの共通部分
  */
 typedef struct wait_object_initialization_block {
-	ATR			wobjatr;		/* IuWFNg®« */
+	ATR			wobjatr;		/* オブジェクト属性 */
 } WOBJINIB;
 
 /*
- *  ¯úEÊMIuWFNgÌÇubNÌ¤Êª
+ *  同期・通信オブジェクトの管理ブロックの共通部分
  */
 typedef struct wait_object_control_block {
-	QUEUE		wait_queue;		/* Ò¿L
-[ */
-	const WOBJINIB *p_wobjinib;	/* ú»ubNÖÌ|C^ */
+	QUEUE		wait_queue;		/* 待ちキュー */
+	const WOBJINIB *p_wobjinib;	/* 初期化ブロックへのポインタ */
 } WOBJCB;
 
 /*
- *  ¯úEÊMIuWFNgÌÒ¿îñubNÌ¤Êª
- *
- *  ±Ì\¢ÌÍCÒ¿îñubNiWINFOjðg£iIuWFNgwü¾
- *  êÌp³Éjµ½àÌÅ éªCWINFOª¤pÌÅè`³êÄ¢é½
- *  ßÉC1ÂÌtB[hÆµÄÜßÄ¢éD
+ *  同期・通信オブジェクトの待ち情報ブロックの共通部分
+ *
+ *  この構造体は，待ち情報ブロック（WINFO）を拡張（オブジェクト指向言
+ *  語の継承に相当）したものであるが，WINFOが共用体で定義されているた
+ *  めに，1つのフィールドとして含めている．
  */
 typedef struct wait_object_waiting_information {
-	WINFO	winfo;			/* WÌÒ¿îñubN */
-	WOBJCB	*p_wobjcb;		/* Ò¿IuWFNgÌÇubN */
+	WINFO	winfo;			/* 標準の待ち情報ブロック */
+	WOBJCB	*p_wobjcb;		/* 待ちオブジェクトの管理ブロック */
 } WINFO_WOBJ;
 
 /*
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÖÌJÚ
+ *  同期・通信オブジェクトに対する待ち状態への遷移
  *  
- *  ÀsÌ^XNðÒ¿óÔÉJÚ³¹C¯úEÊMIuWFNgÌÒ¿L
-[
- *  ÉÂÈ®DÜ½CÒ¿îñubNiWINFOjÌp_wobjcbðÝè·éD
- *  wobj_make_wait_tmoutÍC^CCxgubNÌo^às¤D
+ *  実行中のタスクを待ち状態に遷移させ，同期・通信オブジェクトの待ちキュー
+ *  につなぐ．また，待ち情報ブロック（WINFO）のp_wobjcbを設定する．
+ *  wobj_make_wait_tmoutは，タイムイベントブロックの登録も行う．
  */
 extern void	wobj_make_wait(WOBJCB *p_wobjcb, WINFO_WOBJ *p_winfo);
@@ -290,9 +263,8 @@
 
 /*
- *  ^XNDæxÏXÌ
- *
- *  ¯úEÊMIuWFNgÉÎ·éÒ¿óÔÉ é^XNÌDæxªÏX³
- *  ê½êÉCÒ¿L
-[ÌÅÌ^XNÌÊuðC³·éD
+ *  タスク優先度変更時の処理
+ *
+ *  同期・通信オブジェクトに対する待ち状態にあるタスクの優先度が変更さ
+ *  れた場合に，待ちキューの中でのタスクの位置を修正する．
  */
 Inline void
@@ -306,11 +278,9 @@
 
 /*
- *  Ò¿L
-[Ìú»
- *
- *  Ò¿L
-[ÉÂÈªêÄ¢é^XNð·×ÄÒ¿ð·éDÒ¿ðµ½
- *  ^XN©çÌÔlÍCE_DLTÆ·éDÒ¿ðµ½^XNÖÌfBXpb`
- *  ªKvÈêÍtrueC»¤ÅÈ¢êÍfalseðÔ·D
+ *  待ちキューの初期化
+ *
+ *  待ちキューにつながれているタスクをすべて待ち解除する．待ち解除した
+ *  タスクからの返値は，E_DLTとする．待ち解除したタスクへのディスパッチ
+ *  が必要な場合はtrue，そうでない場合はfalseを返す．
  */
 extern bool_t	init_wait_queue(QUEUE *p_wait_queue);
