17.5.11 Extended service call routine information

The extended service call routine information defines Function code: fncd, Attribute: svcatr, Start address: svcrtn for an extended service call routine.

The number of items that can be defined as extended service call routine information is limited to one for each function code.

The following shows the extended service call routine information format.

 DEF_SVC (fncd, { svcatr, svcrtn });


The items constituting the extended service call routine information are as follows.

1 ) Function code: fncd

Specifies the function code for an extended service call routine.
A value from 0x1 to 0xff can be specified for fncd.


2 ) Attribute: svcatr

Specifies the language used to describe an extended service call routine.
The keyword that can be specified for svcatr is TA_HLNG or TA_ASM.


TA_HLNG: Start an extended service call routine through a C language interface.

TA_ASM: Start an extended service call routine through an assembly language interface.

3 ) Start address: svcrtn

Specifies the start address for an extended service call routine.
A value from 0x0 to 0xfffffffe (aligned to a 2-byte boundary), or a symbol name, can be specified for svcrtn.


Note When an extended service call routine handler is coded as follows, the symbol name specified for svcrtn should be 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 );
 }