%TRUSTEDPROGRAM
%EXTERNALROUTINE ICL9CEZACCIMP
%CONSTINTEGER RELEASE=4
%INCLUDE "ERCC07.TRIMP_HOSTCODES"
%CONSTINTEGER HOST=EMAS
%CONSTINTEGER TARGET=ACCENT
%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,8,0,4,0,8,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
%CONSTINTEGER ALPHA=0;             ! zero post parmeter linkage
!
! ENDED OF CONCATENATED DEFINITIONS
!