-
def_tex
-
ER def_tex ( ID tskid, T_DTEX *pk_dtex );
|
|
|
|
ID tskid;
|
|
|
T_DTEX *pk_dtex;
|
NULL以外: タスク例外処理ルーチン定義情報を格納した領域へのポインタ
|
【 タスク例外処理ルーチン定義情報T_DTEXの構造 】
typedef struct t_dtex {
ATR texatr; /*タスク例外処理ルーチン属性*/
FP texrtn; /*タスク例外処理ルーチンの実行開始アドレス*/
} T_DTEX;
|
tskidで指定されたタスクに対して,
pk_dtexで指定された内容でタスク例外処理ルーチンを定義します。既にタスク例外処理ルーチンが定義されていた場合は,本サービス・コールによって定義内容が更新されます。
ただし,
pk_dtexにNULLが指定された場合は,
tskidで指定されたタスクのタスク例外処理ルーチンの定義を解除し,そのタスクの保留例外要因を0クリアし,さらにタスク例外禁止状態にします。
1 ) タスクID(
tskid)
タスク例外処理ルーチンを定義するタスクIDを指定します。
tskid=TSK_SELF(=0)の指定により自タスクの指定になります。
2 ) タスク例外処理ルーチン属性(
texatr)
texatrには,TA_HLNGのみを指定できます。
-
TA_HLNG(= 0x0000)
タスク例外処理ルーチンの記述言語は,C言語のみをサポートしています。
3 ) タスク例外処理ルーチンの実行開始アドレス(
texrtn)
texrtnには,タスク例外処理ルーチンの実行開始アドレスを指定します。
|
|
|
|
|
|
|
|
|
|
|
- pk_dtex != NULLで, texrtn == NULL
|
|
|
|
|
|
- CPUロック状態から本サービス・コールを発行した。
- 「PSW.IPL > カーネル割り込みマスクレベル」の状態から本サービス・コールを発行した。
|
|
|
- スタック・ポインタが呼出しタスクのユーザ・スタック領域の範囲外を指している。
- pk_dtex != NULLで,呼び出しタスクからの pk_dtexが示す領域に対するオペランド・リード・アクセス許可がない。
|
|
|
- 呼出しタスクは,信頼されたドメインに所属していない。
|
|
|
|