%EXTERNALROUTINE ICL9CEZPNXIMP %CONSTINTEGER RELEASE=4 %INCLUDE "ERCC07.TRIMP_HOSTCODES" %CONSTINTEGER HOST=EMAS %CONSTINTEGER TARGET=PNX %CONSTINTEGER STANDARDPT=X'51' %CONSTINTEGER MINAPT=X'51'; ! 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'4041'{%HALF}, X'6051'{%SHORT->%INTEGER+WARNING}, 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,4,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 PTRROUNDING(0:3*128-1)=%C 3(128) {ALL PTRS IN RECORDS}, 3(128) {ALL PTRS IN STACK FRAMES}, 3(128) {ALL PTRS IN PARAMETERS}; %CONSTINTEGER SFRAMEMISALIGN=0; ! NEEDED ONLY FOR 2900 WHERE PRECALL ! MISALIGNS STACK FRAMES ! %CONSTINTEGER AHEADPT=X'61'; ! PTYPE OF ARRAYHEAD WHEN USED AS SCALAR %CONSTINTEGER AHEADSIZE=8; ! SIZE OF ARRAY HEAD(BYTES) %CONSTINTEGER MINPARAMSIZE=4; ! MINIMUM STACKABLE PARAMETER(BYTES) %CONSTINTEGER RTPARAMPT=X'61'; ! PTYPER OF RTPARAM WHEN USED AS SCALAR %CONSTINTEGER RTPARAMSIZE=8; ! SIZE OF RT PARAMETER (BYTES) %CONSTINTEGER ARRAYROUNDING=1; ! ALL ARRAYS TO 2 BYTE BNDR %CONSTINTEGER ARRAYINRECROUNDING=1; ! ARRAYS IN RECORDS TO 2 BYTE BOUNDARY %CONSTINTEGER STRVALINWA=NO; ! STRING VALUE PARAMETERS STACKED %CONSTINTEGER STRRESINWA=YES; ! 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),3,0,1,0(10) {PREC=3}, 0,1,0(14) {PREC=4}, 0,3,3,0(13) {PREC=5}, 0,3,3,0(13) {PREC=6}, 0,3,3,0(13) {PREC=7}, 0(16) {PREC=0}, 0(16) {PREC=1}, 0(16) {PREC=2}, 0(3),3,0,1,0(10) {PREC=3}, 0,1,0(14) {PREC=4}, 0,3,3,0(13) {PREC=5}, 0,3,3,0(13) {PREC=6}, 0,3,3,0(13) {PREC=7}, 0(16) {PREC=0}, 0(16) {PREC=1}, 0(16) {PREC=2}, 0,3,0,3,0,3,0(10) {PREC=3}, 0,3,0(14) {PREC=4}, 0,3,3,0(13) {PREC=5}, 0,3,3,0(13) {PREC=6}, 0,3,3,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=10; ! CONST DOPE VECTORS IN AREA 10 %CONSTINTEGER LHSADDRFIRST=NO; ! EVALUATE LHS ADDR BEFORE RHS ON ASSNMNT %CONSTINTEGER JRNDBODIES=NO; ! NO NEED TO JUMP ROUNT RT BODIES %CONSTINTEGER PARAMSBWARDS=YES; ! YES FOR REVERSED PARAMETERS %CONSTINTEGER DISPLAY NEEDED=YES; ! DISPLAY NEEDED IN LOCAL SPACE %CONSTINTEGER DISPLAY C1=4; ! 4 bytes per routine level %CONSTINTEGER DISPLAY C0=4; ! 4 bytes of extra for globals %CONSTINTEGER RTPARAM1OFFSET=0; ! OFFSET FROM LNB TO PARAM1 %CONSTINTEGER ALPHA=8; ! 8 bytes post parmeter linkage ! ! END OF CONCATENATED DEFINITIONS !