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 !