!* l2fm - code offset became rt 25/mar/82 !------------------------------------------------ ! PERQ OBJECT RECORD FORMATS !---------------------------------------------- ! RED TAPE AT START OF CODE SEGMENT %RECORDFORMAT CHFM (%HALFINTEGER DICT,RTS,LDATA,MAP) %RECORD(CHFM) %NAME CH ! LDATA LISTHEADS %HALFINTEGERARRAYFORMAT LDATAFM(0:10) %HALFINTEGERARRAYNAME LDATA ! PROCEDURE ENTRY POINT %RECORDFORMAT L1FM (%HALFINTEGER LINK,PROPS,RTNO,DIAGDISP,%STRING(31) NAME) ! PROCEDURE REFERENCES ( SYSTEM) %RECORDFORMAT L2FM (%HALFINTEGER LINK,rt,%STRING(31) NAME) ! PROCEDURE REFERENCES (USER) %RECORDFORMAT L3FM (%HALFINTEGER LINK,GLA REF, ISN, RTNO, %STRING(31) NAME) ! DATA ENTRIES %RECORDFORMAT L4FM (%HALFINTEGER LINK,AREA, %INTEGER DISP,LEN, %STRING(31) NAME) ! DATA REFERENCE (FROM GLA) %RECORDFORMAT L5FM (%HALFINTEGER LINK,GLAREF,%INTEGER LEN, %STRING(31) NAME) ! COMMON DEFINITIONS %RECORDFORMAT L6FM (%HALFINTEGER LINK,AREA NO, %INTEGER LENGTH,%HALFINTEGER PROPS, %STRING(31) NAME) ! DATA INITIALISATION %RECORDFORMAT L7FM (%HALFINTEGER LINK,AREA, %INTEGER DISP, %HALFINTEGER COPIES,LEN) ! 16 BIT FIXUPS ( IN GLA , RELOCATED BY GLA BASE) %RECORDFORMAT L8FM (%HALFINTEGER LINK, NUM, %HALFINTEGERARRAY DISP(1:10000)) ! 32 BIT FIXUPS ( IN GLA ) %RECORDFORMAT L9FFM (%HALFINTEGER DISP,AREA) %RECORDFORMAT L9FM (%HALFINTEGER LINK,NUM, %RECORD(L9FFM) %ARRAY FIX(1:5000)) ! LIST 10 CONTAINS THE ROOT FILE NAME ! ROUTINE DICTIONARY FORMAT %RECORDFORMAT DICTFM(%HALFINTEGER PS,RPS,LTS,ENTRY,EXIT,LL,SP1,SP2) %RECORD(DICTFM) %ARRAYFORMAT DICTAFM(0:255) %RECORD(DICTFM) %ARRAYNAME DICTIONARY %RECORD(DICTFM) %NAME DICT ! OBJECT FILE AREA MAP %RECORDFORMAT MAPFM(%HALFINTEGER START,PROPS, %INTEGER LEN) %RECORD(MAPFM) %ARRAYNAME AMAP %RECORD(MAPFM) %ARRAYFORMAT AMAPFM(1:10) %RECORD(L1FM) %NAME L1 %RECORD(L2FM) %NAME L2 %RECORD(L3FM) %NAME L3 %RECORD(L4FM) %NAME L4 %RECORD(L5FM) %NAME L5 %RECORD(L6FM) %NAME L6 %RECORD(L7FM) %NAME L7 %RECORD(L8FM) %NAME L8 %RECORD(L9FM) %NAME L9 %RECORDFORMAT HDRFM(%BYTEINTEGER QVERSION, {QCODE VERSION} FLAGS, %BYTEINTEGERARRAY MODULE(0:7), {8 CHAR MODULE NAME (NO LENGTH BYTE) } %STRING(100) SOURCE FILE, { FULL PATH NAME OF SOURCE FILE } %HALFINTEGER NUMIMPS, { NUMBER OF IMPORTED SEGMENTS } IMPBLOCK, { BLOCK NUMBER OF IMPORTS TABLE } GDSIZE, { SIZE IN 16 BIT WORDS OF GLOBAL DATA BLOCK } %STRING(80) VERSION, { VERSION OF COMPILER } %string(80) COPYRIGHT, %BYTEINTEGER D2, %HALFINTEGER LANGUAGE, %HALFINTEGER PRELINKBLOCK, ROUTDESCBLOCK, DIAGBLOCK) %RECORD(HDRFM) %NAME H %RECORDFORMAT PLBFM(%HALFINTEGER BLOCK,BYTE OFFSET, %BYTEINTEGERARRAY NAME(0:7), %BYTEINTEGERARRAY ROUTDESC(0:255)) %RECORD(PLBFM) %NAME PLB %RECORDFORMAT IMPFM(%BYTEINTEGERARRAY MOD(0:7), %STRING(101) FILE) %RECORD(IMPFM) %ARRAYFORMAT IMPAFM(0:500) %RECORD(IMPAFM) %ARRAYNAME IMPORTS %ENDOFFILE