Everything

17.5.11 拡張サービス・コール・ルーチン情報

拡張サービス・コール・ルーチン情報では,
といった項目を個々の拡張サービス・コール・ルーチンに対して定義します。
なお,拡張サービス・コール・ルーチン情報として定義可能な数は,1つの機能コード番号に対して1個に限られます。
以下に,拡張サービス・コール・ルーチン情報の記述形式を示します。
 
 DEF_SVC ( fncd, { svcatr, svcrtn } );

以下に,拡張サービス・コール・ルーチン情報で記述する項目について示します。
1 ) 機能コード番号fncd
拡張サービス・コール・ルーチンの機能コード番号を指定します。
なお,fncdとして指定可能な値は“0x1~0xff”に限られます。
2 ) 属性(記述言語)svcatr
拡張サービス・コール・ルーチンの属性(記述言語)を指定します。
なお,svcatrとして指定可能な値は“TA_HLNG,TA_ASMのいずれか”に限られます。
TA_HLNG: C言語
TA_ASM: アセンブリ言語
3 ) 起動アドレスsvcrtn
拡張サービス・コール・ルーチンの起動アドレスを指定します。
なお,svcrtnとして指定可能な値は“0x0~0xfffffffeの2バイト境界値,またはシンボル名”に限られます。
備考 拡張サービス・コール・ルーチンを以下のように記述した場合,svcrtnに指定するシンボル名はfunc_svcになります。
 #include        <kernel.h>
 #include        <kernel_id.h>
 
 ER_UINT
 func_svc ( VP_INT par1, VP_INT par2, VP_INT par3 )
 {
         ER_UINT ercd;
 
         ............
         ............
 
         return ( ercd );
 }