%external %integer %function %spec Addr 0 %alias "IMP___GET_PROC_DESC" -
                           ( %routine X )

%external %integer %function %spec Addr 1 %alias "IMP___GET_PROC_DESC" -
                           ( %routine X ( %integer A ) )

%external %integer %function %spec Addr 2 %alias "IMP___GET_PROC_DESC" -
                           ( %routine X ( %integer A, B ) )

%external %integer %function %spec Addr 3 %alias "IMP___GET_PROC_DESC" -
                           ( %routine X ( %integer A, B, C ) )

%external %integer %function %spec Addr 4 %alias "IMP___GET_PROC_DESC" -
                           ( %routine X ( %integer A, B, C, D ) )

%external %routine %spec Call 0 %alias "IMP___CALL_PROC_0" -
                              ( %integer Desc )

%external %routine %spec Call 1 %alias "IMP___CALL_PROC_1" -
                              ( %integer Desc, Arg )

%external %routine %spec Call 2 %alias "IMP___CALL_PROC_2" -
                              ( %integer Desc, Arg1, Arg2 )

%external %routine %spec Dummy 0 %alias "IMP___DUMMY"

%external %routine %spec Dummy 1 %alias "IMP___DUMMY" -
                               ( %integer A )

%external %routine %spec Dummy 2 %alias "IMP___DUMMY" -
                               ( %integer A, B )
