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
!