13.4.8 割り込みハンドラ情報

割り込みハンドラ情報では,

1 ) 割り込み要因inhno

2 ) 属性(記述言語,メモリ配置)inhatr

3 ) 起動アドレスinthdr

といった項目を個々の割り込みハンドラに対して定義します。

なお,割り込みハンドラ情報として定義可能な数は,1つの割り込み要因に対して1個に限られます。

以下に,割り込みハンドラ情報の記述形式を示します。

 
 DEF_INH ( inhno, { inhatr, inthdr } );


以下に,割り込みハンドラ情報で記述する項目について示します。

1 ) 割り込み要因inhno

割り込みハンドラを登録するマスカブル割り込みの割り込み要因名,またはベクタ・テーブル・アドレスを指定します。
inhnoとして指定可能な値は,デバイス・ファイルで規定されている割り込み要因名,または0x0〜0x7cに限られます。


なお,inhnoに割り込み要因名を指定した場合,CF78V4の起動オプションとして-cpu△<name>の指定が必須となります。

2 ) 属性(記述言語,メモリ配置)inhatr

割り込みハンドラの属性(記述言語,メモリ配置)を指定します。
なお,inhatrとして指定可能な値は“TA_HLNG,TA_ASMのいずれか,およびTA_NEAR,TA_FARのいずれか”に限られます。


【 割り込みハンドラの記述言語 】

TA_HLNG: C言語

TA_ASM: アセンブリ言語

【 割り込みハンドラのメモリ配置 】

TA_NEAR: NEAR配置

TA_FAR: FAR配置

3 ) 起動アドレスinthdr

割り込みハンドラの起動アドレスを指定します。
なお,inthdrとして指定可能な値は,“C言語で記述する際のシンボル名”に限られます。


備考1 以下のように割り込みハンドラをC言語で記述した場合,本項目で指定する値は,“func_inthdr”となります。

 #include        <kernel.h>
 #include        <kernel_id.h>
 
 void
 func_inthdr ( void )
 {
         ............
         ............
 
         return;
 }
 

備考2 以下のように割り込みハンドラをアセンブリ言語で記述した場合,本項目で指定する値は,“func_inthdr”となります。

 $INCLUDE        (kernel.inc)
 $INCLUDE        (kernel_id.inc)
 
         .PUBLIC  _func_inthdr
         .SECTION .text, TEXT
 _func_inthdr:
         ............
         ............
 
         RET