; OVERLAY DESCRIPTION FOR PASCAL COMPILER ; ; THIS OVERLAY CONFIGURATION MAKES USE OF A TRICK FOR PERMITTING ; CROSS-SEGMENT CALLS SUCH THAT THE CALLED MODULE IS IN A DIFFERNT ; BRANCH FROM THE CALLING MODULE. THUS MODULES IN DIFFERNT BRANCHES ; DO NOT HAVE TO BE "LOGICALLY INDEPENDENT". ; ; THIS APPROACH IS ONLY USED TO A LIMITED EXTENT IN THIS OVERLAY ; STRUCTURE. SEGMENT COMPIL HAS BEEN TAKEN OUT OF THE CRITICAL ; PATH TO ALLOW A LARGER HEAP SEGMENT WITHIN THE SAME 32K TASK. ; ; DISREGARD THE MULITPLY DEFINE ERROR NOTICES FROM TKB. ; .NAME ROOT .ROOT ROOT-TRICK-R-*(I1,I2,IFCS,DEC1,DEC2,BD),HEAP ; R: .FCTR PAS/LB:.MAIN.-R1-R3-R4-R5-R6-R7-R8 R1: .FCTR PAS/LB:NEWPAG:P11WTT:RECURS:INSYMB:BODY R3: .FCTR PASLIB/LB:WRERRO:P11RAR:PBOOL:DATETM:DIF4:DIVI R4: .FCTR PASLIB/LB:EQU:EQUM:NEQ:GEQ:GRT:LEQ:LES:LESM R5: .FCTR PASLIB/LB:EQUM2:LESM2:MOVM:UNI4:INN R6: .FCTR PASLIB/LB:RUNCHK:P11DFA:P11RES:P11GET R7: .FCTR PASLIB/LB:WRI:WROCT:P11CMR:EXPSET R8: .FCTR PASLIB/LB:MULI ; ; NOTE: IF THE COMPILER SOURCE WAS COMPILED WITH $E+ (EIS) ; THEN MODULE PASLIB/LB:MULI IN ROOT SEGMENT IS NOT NEEDED. ; HEAP: .FCTR PAS/LB:$HEAP ; .NAME INI1 I1: .FCTR INI1-PAS/LB:INITTA:INITTB:P11SWI ; .NAME INI2 I2: .FCTR INI2-AINI2-PAS/LB:INIT2:OPTION:OPENFI:ENTERS-I2A-I2B I2A: .FCTR PAS/LB:PROGRA:P11INI:NXTCHR:ERRMES:INCLUD I2B: .FCTR PASLIB/LB:GCML:P11EXI .NAME FCS IFCS: .FCTR FCS-AFCS-IFCS1-IFCS2-IFCS3-IFCS4 IFCS1: .FCTR LB:[1,1]SYSLIB/LB:CLOSE:DELETE:FINIT:OPEN:OPFID IFCS2: .FCTR LB:[1,1]SYSLIB/LB:DEL:PARSE:POINT:CREATE:ASSLUN:PARDI IFCS3: .FCTR LB:[1,1]SYSLIB/LB:PARSDI:PARSDV:PARSFN:PPNASC:DIFND:DIRFND IFCS4: .FCTR LB:[1,1]SYSLIB/LB:POSREC:POSIT .NAME DECL1 DEC1: .FCTR DECL1-ADEC1-C1-C2-D1-D2 D1: .FCTR PAS/LB:SIMPLE:CONSTD D2: .FCTR PAS/LB:PROCED:PSERRO:EXTERN .NAME DECL2 DEC2: .FCTR DECL2-ADEC2-PAS/LB:LABELD:TYPEDE:VARDEC ; .NAME BODYDF BD: .FCTR BODYDF-BD1-BD2-*(C,NEW,STM1,STM2,STM3,EXP,CNS,CS) BD1: .FCTR PAS/LB:STATEM:EXPRES:CALL:WRITOB BD2: .FCTR PAS/LB:MULTIP:PUTOBJ:LOADAD ; .NAME COMPIL C: .FCTR COMPIL-ACOMPI-C1-C2 C1: .FCTR PAS/LB:BLOCK:HEAPMA:SKIP C2: .FCTR PASLIB/LB:INITS:MARKP:SGSIN ; .NAME MODENT NEW: .FCTR MODENT-PAS/LB:STARTO .NAME STMNT1 STM1: .FCTR STMNT1-PAS/LB:CASEST:WITHST .NAME STMNT2 STM2: .FCTR STMNT2-PAS/LB:GOTOST:COMPOU:IFSTAT:WHILES:REPEAT:LOOPST .NAME STMNT3 STM3: .FCTR STMNT3-PAS/LB:STORE:ASSIGN:FORSTA .NAME EXPR EXP: .FCTR EXPR-PAS/LB:LOADST-EXP2 EXP2: .FCTR PASLIB/LB:EQUS4:INITS:SGSIN .NAME CALLN CNS: .FCTR CALLN-PAS/LB:CALLNS:BASE CS: .FCTR CST-*(CS1,CS2,CS3) .NAME CALLS CST: .FCTR CALLS-CST1-CST2 CST1: .FCTR PAS/LB:VARIAB:GETFIL:CALLST CST2: .FCTR PASLIB/LB:INITS:SGSIN .NAME CALLS1 CS1: .FCTR CALLS1-PAS/LB:READRE:WRITEW:PACK:UNPACK .NAME CALLS2 CS2: .FCTR CALLS2-CS21-CS22 CS21: .FCTR PAS/LB:NEW1:ABS:ARITHM:DATETI:HALT:MARKRE CS22: .FCTR PAS/LB:ODD:ORD:CHR:PREDSU:EOFEOL:BREAKL:FORMFE ; .NAME CALLS3 CS3: .FCTR CALLS3-CS31-CS32 CS31: .FCTR PAS/LB:GETPUT:ROUND:RUNTIM:SPLITR CS32: .FCTR PAS/LB:SQR:SSIZE:TRUNC:TWOPOW .END