TRUSTEDPROGRAM 
EXTERNALROUTINE  ICL9CEZPERQIMP
CONSTINTEGER  RELEASE=4
INCLUDE  "ERCC07.TRIMP_HOSTCODES"
CONSTINTEGER  HOST=EMAS
CONSTINTEGER  TARGET=PERQ
CONSTINTEGER  STANDARDPT=X'41'
CONSTINTEGER  MINAPT=X'41';             ! MINIMUM PTYPE FOR WHICH ARITHMETIC
                                        ! OPERATORS ARE AVAILABLE
CONSTINTEGER  MINAPREC=MINAPT>>4
CONSTHALFINTEGERARRAY  TYPEFLAG(0:12)=0,
                                        X'51'{%INTEGER},
                                        X'52'{%REAL},
                                        X'8009'{%LONG SOMETHING},
                                        X'4031'{%BYTE},
                                        X'35'{%STRING},
                                        X'6051'{%HALF->%INTEGER+WARNING},
                                        X'4041'{%SHORT},
                                        X'33'{%RECORD},
                                        0,
                                        X'1051'{%LONG INTEGER FAULT},
                                        X'62'{%LONG REAL},
                                        X'2062'{%LONGLONGREAL WARN};
!
! 2****15 SET FOR RELAY TO LOWER PART OF TYPEFLAGS
! 2****14 SET TO SKIP NEXT AR ENTRY FOR BYTE(INTEGER?) ETC
! 2****13 SET IF A DIFFERENT PRECISION USED GIVES WARNING
! 2****12 SET FOR COMBINATION WE CANT SUPPORT GIVES FAULT99
!
CONSTBYTEINTEGERARRAY  PTRSIZE(0:127)= C 
                                        8,0(15)                 {PREC=0},   
                                        0(16)                   {PREC=1},
                                        0(16)                   {PREC=2},
                                        8,6,0,4,0,6,0,4,0(8)    {PREC=3},
                                        8,4,0(14)               {PREC=4},
                                        8,4,4,0(13)             {PREC=5},
                                        8,0,4,0(13)             {PREC=6},
                                        8,0(15)                 {PREC=7};

CONSTBYTEINTEGERARRAY  PTR ROUNDING(0:3*128-1)= C 
                                        1(128)          {ALL PTRS IN RECORDS},
                                        1(128)          {ALL PTRS IN STACK FRAMES},
                                        1(128)          {ALL PTRS AS PARASM};

CONSTINTEGER  SFRAMEMISALIGN=0;         ! NEEDED ONLY FOR 2900 WHERE PRECALL
                                        ! MISALIGNS STACK FRAMES !
CONSTINTEGER  AHEADPT=X'61';            ! PTYPE OF ARRAY HEAD
CONSTINTEGER  AHEADSIZE=8;              ! SIZE OF ARRAY HEAD(BYTES)
CONSTINTEGER  MINPARAMSIZE=2;           ! MINIMUM STACKABLE PARAMETER(BYTES)
CONSTINTEGER  RTPARAM PT=X'61';         ! PTYPE OF RT FORMAL
CONSTINTEGER  RTPARAMSIZE=8;            ! SIZE OF RT PARAMETER (BYTES)
CONSTINTEGER  ARRAYROUNDING=1;          ! ALL ARRAYS TO 2 BYTE BNDR
CONSTINTEGER  ARRAYINRECROUNDING=1;     ! ARRAYS IN RECORDS TO  2BYTE BNDRY
CONSTINTEGER  STRVALINWA=NO;            ! STRING VALUE PARAMETERS STACKED
CONSTINTEGER  STRRESINWA=NO;            ! STRING&RECORD FN RESULTS STACKED
!
CONSTBYTEINTEGERARRAY  RNDING(0:3*128-1)= C 
                  {VALUES FOR SCALARS PTYPES 0->X'7F' IN SITUATIONS}
                  {FIRST SITUATION IS IN RECORDS}
                  {SECOND SITUATION IS IN STACK FRAMES}
                  {THIRD SITUATION IS AS PARAMETERS}

         0(16)                          {PREC=0},
         0(16)                          {PREC=1},
         0(16)                          {PREC=2},
         0(3),1,0,1,0(10)               {PREC=3},
         0,1,0(14)                      {PREC=4},
         0,1,1,0(13)                    {PREC=5},
         0,1,1,0(13)                    {PREC=6},
         0,1,1,0(13)                    {PREC=7},


         0(16)                          {PREC=0},
         0(16)                          {PREC=1},
         0(16)                          {PREC=2},
         0(3),1,0,1,0(10)               {PREC=3},
         0,1,0(14)                      {PREC=4},
         0,1,1,0(13)                    {PREC=5},
         0,1,1,0(13)                    {PREC=6},
         0,1,1,0(13)                    {PREC=7},


         0(16)                          {PREC=0},
         0(16)                          {PREC=1},
         0(16)                          {PREC=2},
         0,1,0,1,0,1,0(10)              {PREC=3},
         0,1,0(14)                      {PREC=4},
         0,1,1,0(13)                    {PREC=5},
         0,1,1,0(13)                    {PREC=6},
         0,1,1,0(13)                    {PREC=7};

CONSTBYTEINTEGERARRAY  BYTES(0:7)=0(3),1,2,4,8,16;
CONSTBYTEINTEGERARRAY  WORDS(0:7)=0(3),1,1,2,4,8;
CONSTINTEGER  DAREA=6;                  ! SPECIAL DIAGS AREA ON PERQ
CONSTINTEGER  DVAREA=4;                 ! DOPE VECTORS INTO SST
CONSTINTEGER  LHSADDRFIRST=YES;         ! EVALUATE LHS ADDR BEFORE RHS ON ASSNMNT
CONSTINTEGER  JRNDBODIES=YES;           ! JUMPIES REQUIRED ROUND RT BODIES
CONSTINTEGER  PARAMS BWARDS=NO;         ! PARAMETERS IN FORWARD ORDER
CONSTINTEGER  DISPLAY NEEDED=NO
CONSTINTEGER  RTPARAM1 OFFSET=0;        ! OFFSET OF FIRST RT PARAM
!
! ENDED OF CONCATENATED DEFINITIONS
!