DataMuseum.dk

Presents historical artifacts from the history of:

DANOSI

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DANOSI

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦118190b64⟧ TextFile

    Length: 24629 (0x6035)
    Types: TextFile
    Names: »P435INIT.PAS«

Derivation

└─⟦037c0ce35⟧ Bits:30010524 DVBS1.SW2114.src.2.6-2 RTP compiler source SW2104+SW2114 Disk#2 30/1-92 HHA
    └─⟦this⟧ »RTP\P435INIT.PAS« 
└─⟦828f0d3dd⟧ Bits:30010527 DVBS1.SW2114.src.2.6-5 RTP Compiler Source SW2104+SW2114 Disk 2 92.02.03 HEJ HHA
    └─⟦this⟧ »RTP\P435INIT.PAS« 
└─⟦891417be1⟧ Bits:30010519 DVBS1.SW2114.src.2-1 SW2114 1/4 Real Time Pascal 2.7 92.06.16
    └─⟦this⟧ »RTP\P435INIT.PAS« 
└─⟦a2bcc95d7⟧ Bits:30010511 DVBS1.SW2114.src.2.14-2 SW2114 REAL #2/4 TIME PASCAL SOURCE REL 2.14 92.09.01
    └─⟦this⟧ »RTP\P435INIT.PAS« 

TextFile

    PROCEDURE InitCodeGenerator;\r
      (* The procedure initialize the codegenerator *)\r
\r
      VAR\r
        i : integer;\r
        PreName : string[16];\r
        Inst : Instruction;\r
\r
      BEGIN\r
        LastLineNumber := 1;\r
        NoOfOutPageJumps := 0;\r
\r
        StrucInExp := false;\r
\r
        FirstExtDec := St_NillAddr;\r
        NoExtDecl   := 0;\r
        St_LineTable:= IntegerType;\r
        St_RoutineName := BooleanType;\r
\r
        Filebufferindex := 0;\r
        CodeOn := false;\r
        InternalOffset := 0;\r
\r
        Bin2codeOut:= 0;\r
        LastJumpRec.Bin1Code := DummyElement;\r
        JumpToNextPage := 1;\r
\r
        St_reserveJump(FirstTempPage, JumpRec);\r
        ST_Lock(JumpRec);\r
        TempIndex := 0;\r
\r
        LastLabelOffset := -1;\r
        LastJMPOffset := -1;\r
        LastLabel := St_NillAddr;\r
\r
        Spacing := Call_Options.Spacing;\r
        LineTabel := (Spacing <> 0);\r
        LastNameEntry := St_NillAddr;\r
        LengthOfNameTabel := 0;\r
        pagesize3502 := call_options.PageSize3502;\r
        IF pageSize3502 = 0 THEN PageSize3502 := 1000;\r
        ChangeCodeSize(pagesize3502);\r
        IF CodeSize < Spacing THEN ChangeCodeSize(Spacing);\r
\r
        CurrentSegNo := 1;\r
\r
        (* reads the code for the open routines *)\r
        i := 0;\r
        WHILE NOT EOF(OpenRoutine) DO\r
          BEGIN\r
            IF i > MaxLengthOfOpenRoutines THEN\r
              Fatal_Error(Pass4,9);\r
\r
            read(OpenRoutine,CodeOfOpenRoutines[i]);\r
            (*\r
            CodeOfOpenRoutines[i] := OpenRoutine^;\r
            get(OpenRoutine);*)\r
            i := i + 1;\r
          END;\r
\r
        Init_Pass4_2;\r
\r
        InStack := 0;\r
        InstructionName[rRENPB] := 'RENPB';\r
        InstructionName[rRENHB] := 'RENHB';\r
        InstructionName[rRECHW] := 'RECHW';\r
        InstructionName[rREAAD] := 'REAAD';\r
        InstructionName[rRECHD] := 'RECHD';\r
        InstructionName[rREAXD] := 'REAXD';\r
        InstructionName[rREARD] := 'REARD';\r
        InstructionName[rREALD] := 'REALD';\r
        InstructionName[rREAGD] := 'REAGD';\r
        InstructionName[rREAID] := 'REAID';\r
        InstructionName[rREASD] := 'REASD';\r
        InstructionName[rUADHW] := 'UADHW';\r
        InstructionName[rREVPW] := 'REVPW';\r
        InstructionName[rREVPD] := 'REVPD';\r
        InstructionName[rREVLB] := 'REVLB';\r
        InstructionName[rREVLW] := 'REVLW';\r
        InstructionName[rREVLA] := 'REVLA';\r
        InstructionName[rREVLD] := 'REVLD';\r
        InstructionName[rREVGB] := 'REVGB';\r
        InstructionName[rREVGW] := 'REVGW';\r
        InstructionName[rREVGA] := 'REVGA';\r
        InstructionName[rREVGD] := 'REVGD';\r
	InstructionName[rREVSB] := 'REVSB';\r
        InstructionName[rREVSW] := 'REVSW';\r
        InstructionName[rREVSA] := 'REVSA';\r
        InstructionName[rREVSD] := 'REVSD';\r
        InstructionName[rREVSF] := 'REVSF';\r
        InstructionName[rREADB] := 'READB';\r
        InstructionName[rREADW] := 'READW';\r
        InstructionName[rSTNHB] := 'STNHB';\r
        InstructionName[rSTVLB] := 'STVLB';\r
        InstructionName[rSTVLW] := 'STVLW';\r
        InstructionName[rSTVLA] := 'STVLA';\r
        InstructionName[rSTVLD] := 'STVLD';\r
        InstructionName[rSTVGB] := 'STVGB';\r
        InstructionName[rSTVGW] := 'STVGW';\r
        InstructionName[rSTVGA] := 'STVGA';\r
        InstructionName[rSTVGD] := 'STVGD';\r
        InstructionName[rSTVSB] := 'STVSB';\r
        InstructionName[rSTVSW] := 'STVSW';\r
        InstructionName[rSTVSA] := 'STVSA';\r
        InstructionName[rSTVSD] := 'STVSD';\r
        InstructionName[rSTVSF] := 'STVSF';\r
        InstructionName[rMOVEG] := 'MOVEG';\r
        InstructionName[rSTCEA] := 'STCEA';\r
        InstructionName[rREVSM] := 'REVSM';\r
        InstructionName[rSETRE] := 'SETRE';\r
        InstructionName[rSETST] := 'SETST';\r
        InstructionName[rPCALS0]:= 'PCALS0';\r
        InstructionName[rPCALS1]:= 'PCALS1';\r
        InstructionName[rPCALS] := 'PCALS';\r
        InstructionName[rPEXIT] := 'PEXIT';\r
        InstructionName[rJMPHC] := 'JMPHC';\r
        InstructionName[rJMPGA] := 'JMPGA';\r
        InstructionName[rJMPRW] := 'JMPRW';\r
        InstructionName[rJMCHT] := 'JMCHT';\r
        InstructionName[rJMZEQ] := 'JMZEQ';\r
        InstructionName[rJMZNE] := 'JMZNE';\r
        InstructionName[rJMZLT] := 'JMZLT';\r
        InstructionName[rJMZGT] := 'JMZGT';\r
        InstructionName[rJMZLE] := 'JMZLE';\r
        InstructionName[rJMZGE] := 'JMZGE';\r
        InstructionName[rNEG]   := 'NEG';\r
        InstructionName[rNOT]   := 'NOT';\r
        InstructionName[rCOMPL] := 'COMPL';\r
        InstructionName[rADD]   := 'ADD';\r
        InstructionName[rSUB]   := 'SUB';\r
        InstructionName[rMUL]   := 'MUL';\r
        InstructionName[rDIV]   := 'DIV';\r
        InstructionName[rMOD]   := 'MOD';\r
        InstructionName[rUADD]  := 'UADD';\r
        InstructionName[rUSUB]  := 'USUB';\r
        InstructionName[rUMUL]  := 'UMUL';\r
        InstructionName[rUDIV]  := 'UDIV';\r
        InstructionName[rUMOD]  := 'UMOD';\r
        InstructionName[rMADD]  := 'MADD';\r
        InstructionName[rMSUB]  := 'MSUB';\r
        InstructionName[rMMUL]  := 'MMUL';\r
        InstructionName[rEQ]    := 'EQ';\r
        InstructionName[rNE]    := 'NE';\r
        InstructionName[rLT]    := 'LT';\r
        InstructionName[rGT]    := 'GT';\r
        InstructionName[rLE]    := 'LE';\r
        InstructionName[rGE]    := 'GE';\r
        InstructionName[rULT]   := 'ULT';\r
        InstructionName[rAND]   := 'AND';\r
        InstructionName[rOR]    := 'OR';\r
        InstructionName[rXOR]   := 'XOR';\r
        InstructionName[rSHC]   := 'SHC';\r
        InstructionName[rTEQAD] := 'TEQAD';\r
        InstructionName[rSETCR] := 'SETCR';\r
        InstructionName[rSETAD] := 'SETAD';\r
        InstructionName[rSETUN] := 'SETUN';\r
        InstructionName[rSETIN] := 'SETIN';\r
        InstructionName[rSETDI] := 'SETDI';\r
        InstructionName[rSETEQ] := 'SETEQ';\r
        InstructionName[rSETSB] := 'SETSB';\r
        InstructionName[rSETSP] := 'SETSP';\r
        InstructionName[rSETTM] := 'SETTM';\r
        InstructionName[rSETATM]:= 'SETATM';\r
        InstructionName[rCEXCH] := 'CEXCH';\r
        InstructionName[rMHALT] := 'MHALT';\r
        InstructionName[rCRPUT] := 'CRPUT';\r
        InstructionName[rCGREG] := 'CGREG';\r
        InstructionName[rLLOCK] := 'LLOCK';\r
        InstructionName[rLRESE] := 'LRESE';\r
        InstructionName[rLRELE] := 'LRELE';\r
        InstructionName[rRESTA] := 'RESTA';\r
        InstructionName[rRESTC] := 'RESTC';\r
        InstructionName[rSTSTC] := 'STSTC';\r
        InstructionName[rINTRS] := 'INTRS';\r
        InstructionName[rINTH0] := 'INTH0';\r
        InstructionName[rINDEX] := 'INDEX';\r
        InstructionName[rINDH0] := 'INDH0';\r
        InstructionName[rINDH1] := 'INDH1';\r
        InstructionName[rINTPA] := 'INTPA';\r
        InstructionName[rINPDV] := 'INPDV';\r
        InstructionName[rMNOOP] := 'MNOOP';\r
        InstructionName[rMTRH]  := 'MTRH';\r
        InstructionName[rMTRS]  := 'MTRS';\r
\r
        InstructionValue[rRENPB] := $8e;\r
        InstructionValue[rRENHB] := $8f;\r
        InstructionValue[rRECHW] := $a8 + $100;\r
        InstructionValue[rREAAD] := $fb + $1c00;\r
        InstructionValue[rRECHD] := $e8 + $200;\r
        InstructionValue[rREAXD] := $fd;\r
        InstructionValue[rREARD] := $fc;\r
        InstructionValue[rREALD] := $e4 + $300;\r
        InstructionValue[rREAGD] := $b4 + $400;\r
        InstructionValue[rREAID] := $e2 + $500;\r
        InstructionValue[rREASD] := $e6 + $600;\r
        InstructionValue[rUADHW] := $e6 + $600;\r
        InstructionValue[rREVPW] := $af;\r
        InstructionValue[rREVPD] := $ef;\r
        InstructionValue[rREVLB] := $97 + $700;\r
        InstructionValue[rREVLW] := $b7 + $800;\r
        InstructionValue[rREVLA] := $d7 + $900;\r
        InstructionValue[rREVLD] := $f7 + $a00;\r
        InstructionValue[rREVGB] := $93 + $b00;\r
        InstructionValue[rREVGW] := $b3 + $c00;\r
        InstructionValue[rREVGA] := $d3 + $d00;\r
        InstructionValue[rREVGD] := $f9 + $e00;\r
	InstructionValue[rREVSB] := $b8 + $f00;\r
        InstructionValue[rREVSW] := $ba + $1000;\r
        InstructionValue[rREVSA] := $bc + $1100;\r
        InstructionValue[rREVSD] := $be + $1200;\r
        InstructionValue[rREVSF] := $d9;\r
        InstructionValue[rREADB] := $90;\r
        InstructionValue[rREADW] := $b0;\r
        InstructionValue[rSTNHB] := $8c;\r
        InstructionValue[rSTVLB] := $96 + $1300;\r
        InstructionValue[rSTVLW] := $b6 + $1400;\r
        InstructionValue[rSTVLA] := $d6 + $1500;\r
        InstructionValue[rSTVLD] := $f8 + $1600;\r
        InstructionValue[rSTVGB] := $92;\r
        InstructionValue[rSTVGW] := $b2;\r
        InstructionValue[rSTVGA] := $d2;\r
        InstructionValue[rSTVGD] := $fa;\r
        InstructionValue[rSTVSB] := $98 + $1700;\r
        InstructionValue[rSTVSW] := $9a + $1800;\r
        InstructionValue[rSTVSA] := $9c + $1900;\r
        InstructionValue[rSTVSD] := $9e;\r
        InstructionValue[rSTVSF] := $d8;\r
        InstructionValue[rMOVEG] := $ae;\r
        InstructionValue[rSTCEA] := $ee;\r
        InstructionValue[rREVSM] := $cc;\r
        InstructionValue[rSETRE] := $94;\r
        InstructionValue[rSETST] := $ec;\r
        InstructionValue[rPCALS0]:= $78 + $1c00;\r
        InstructionValue[rPCALS1]:= $79 + $1c00;\r
        InstructionValue[rPCALS] := $7a + $1c00;\r
        InstructionValue[rPEXIT] := $7b;\r
        InstructionValue[rJMPHC] := $69;\r
        InstructionValue[rJMPGA] := $6a;\r
        InstructionValue[rJMPRW] := $68;\r
        InstructionValue[rJMCHT] := $6b;\r
        InstructionValue[rJMZEQ] := $62;\r
        InstructionValue[rJMZNE] := $63;\r
        InstructionValue[rJMZLT] := $64;\r
        InstructionValue[rJMZGT] := $65;\r
        InstructionValue[rJMZLE] := $66;\r
        InstructionValue[rJMZGE] := $67;\r
        InstructionValue[rNEG]   := $50;\r
        InstructionValue[rNOT]   := $55;\r
        InstructionValue[rCOMPL] := $52;\r
        InstructionValue[rADD]   := $44;\r
        InstructionValue[rSUB]   := $45;\r
        InstructionValue[rMUL]   := $49;\r
        InstructionValue[rDIV]   := $4a;\r
        InstructionValue[rMOD]   := $4b;\r
        InstructionValue[rUADD]  := $42;\r
        InstructionValue[rUSUB]  := $43;\r
        InstructionValue[rUMUL]  := $46;\r
        InstructionValue[rUDIV]  := $47;\r
        InstructionValue[rUMOD]  := $48;\r
        InstructionValue[rMADD]  := $3f;\r
        InstructionValue[rMSUB]  := $41;\r
        InstructionValue[rMMUL]  := $3e;\r
        InstructionValue[rEQ]    := $32;\r
        InstructionValue[rNE]    := $33;\r
        InstructionValue[rLT]    := $34;\r
        InstructionValue[rGT]    := $35;\r
        InstructionValue[rLE]    := $36;\r
        InstructionValue[rGE]    := $37;\r
        InstructionValue[rULT]   := $31;\r
        InstructionValue[rAND]   := $4c;\r
        InstructionValue[rOR]    := $4d;\r
        InstructionValue[rXOR]   := $4e;\r
        InstructionValue[rSHC]   := $53;\r
        InstructionValue[rTEQAD] := $3c;\r
        InstructionValue[rSETCR] := $56;\r
        InstructionValue[rSETAD] := $5f;\r
        InstructionValue[rSETUN] := $5c;\r
        InstructionValue[rSETIN] := $5d;\r
        InstructionValue[rSETDI] := $5e;\r
        InstructionValue[rSETEQ] := $59;\r
        InstructionValue[rSETSB] := $5a;\r
        InstructionValue[rSETSP] := $5b;\r
        InstructionValue[rSETTM] := $57;\r
        InstructionValue[rSETATM]:= $58;\r
        InstructionValue[rCEXCH] := $fe;\r
        InstructionValue[rMHALT] := $18;\r
        InstructionValue[rCRPUT] := $b1;\r
        InstructionValue[rCGREG] := $1f;\r
        InstructionValue[rLLOCK] := $7f;\r
        InstructionValue[rLRESE] := $7e;\r
        InstructionValue[rLRELE] := $16;\r
        InstructionValue[rRESTA] := $95 + $500;\r
        InstructionValue[rRESTC] := $d5;\r
        InstructionValue[rSTSTC] := $d4;\r
        InstructionValue[rINTRS] := $6c;\r
        InstructionValue[rINTH0] := $c1;\r
        InstructionValue[rINDEX] := $6d;\r
        InstructionValue[rINDH0] := $38 + $1a00;\r
        InstructionValue[rINDH1] := $39 + $1b00;\r
        InstructionValue[rINTPA] := $6e;\r
        InstructionValue[rINPDV] := $6f;\r
        InstructionValue[rMNOOP] := $2f;\r
        InstructionValue[rMTRH]  := $2c;\r
        InstructionValue[rMTRS]  := $2e;\r
\r
        InstructionStack[rRENPB] := 0+StackAbs+1*StackPar;\r
        InstructionStack[rRENHB] := 0+StackAbs;\r
        InstructionStack[rRECHW] := 1;\r
        InstructionStack[rREAAD] := 2;\r
        InstructionStack[rRECHD] := 2;\r
        InstructionStack[rREAXD] := 2+StackAbs;\r
        InstructionStack[rREARD] := 2;\r
        InstructionStack[rREALD] := 2;\r
        InstructionStack[rREAGD] := 2;\r
        InstructionStack[rREAID] := 2;\r
        InstructionStack[rREASD] := 0+1*StackPar;\r
        InstructionStack[rUADHW] := 0+1*StackPar;\r
        InstructionStack[rREVPW] := 1+1*StackPar;\r
        InstructionStack[rREVPD] := 2+2*StackPar;\r
        InstructionStack[rREVLB] := 1;\r
        InstructionStack[rREVLW] := 1;\r
        InstructionStack[rREVLA] := 2;\r
        InstructionStack[rREVLD] := 2;\r
        InstructionStack[rREVGB] := 1;\r
        InstructionStack[rREVGW] := 1;\r
        InstructionStack[rREVGA] := 2;\r
        InstructionStack[rREVGD] := 2;\r
	InstructionStack[rREVSB] := 1+StackNeg+2*StackPar;\r
        InstructionStack[rREVSW] := 1+StackNeg+2*StackPar;\r
        InstructionStack[rREVSA] := 0+2*StackPar;\r
        InstructionStack[rREVSD] := 0+2*StackPar;\r
        InstructionStack[rREVSF] := 2+StackNeg+3*StackPar;\r
        InstructionStack[rREADB] := 1+StackNeg+2*StackPar;\r
        InstructionStack[rREADW] := 1+StackNeg+2*StackPar;\r
        InstructionStack[rSTNHB] := 0+StackAbs;\r
        InstructionStack[rSTVLB] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rSTVLW] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rSTVLA] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rSTVLD] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rSTVGB] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rSTVGW] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rSTVGA] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rSTVGD] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rSTVSB] := 3+StackNeg+3*StackPar;\r
        InstructionStack[rSTVSW] := 3+StackNeg+3*StackPar;\r
        InstructionStack[rSTVSA] := 4+StackNeg+4*StackPar;\r
        InstructionStack[rSTVSD] := 4+StackNeg+4*StackPar;\r
        InstructionStack[rSTVSF] := 4+StackNeg+4*StackPar;\r
        InstructionStack[rMOVEG] := 5+StackNeg+5*StackPar;\r
        InstructionStack[rSTCEA] := 4+StackNeg+5*StackPar;\r
        InstructionStack[rREVSM] := 0+StackAbs+3*StackPar;\r
        InstructionStack[rSETRE] := 0+StackAbs+3*StackPar;\r
        InstructionStack[rSETST] := 0+StackAbs;\r
        InstructionStack[rPCALS0]:= 0+StackAbs;\r
        InstructionStack[rPCALS1]:= 0+StackAbs;\r
        InstructionStack[rPCALS] := 0+StackAbs;\r
        InstructionStack[rPEXIT] := 0+StackAbs;\r
        InstructionStack[rJMPHC] := 0;\r
        InstructionStack[rJMPGA] := 0;\r
        InstructionStack[rJMPRW] := 0; (*1+StackNeg;*)\r
        InstructionStack[rJMCHT] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZEQ] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZNE] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZLT] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZGT] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZLE] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rJMZGE] := 1+StackNeg+1*StackPar;\r
        InstructionStack[rNEG]   := 0+1*StackPar;\r
        InstructionStack[rNOT]   := 0+1*StackPar;\r
        InstructionStack[rCOMPL] := 0+1*StackPar;\r
        InstructionStack[rADD]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rSUB]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rMUL]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rDIV]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rMOD]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rUADD]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rUSUB]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rUMUL]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rUDIV]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rUMOD]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rMADD]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rMSUB]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rMMUL]  := 1+StackNeg+2*StackPar;\r
        InstructionStack[rEQ]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rNE]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rLT]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rGT]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rLE]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rGE]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rULT]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rAND]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rOR]    := 1+StackNeg+2*StackPar;\r
        InstructionStack[rXOR]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rSHC]   := 1+StackNeg+2*StackPar;\r
        InstructionStack[rTEQAD] := 3+StackNeg+4*StackPar;\r
        InstructionStack[rSETCR] := 0+StackAbs+2*StackPar;\r
        InstructionStack[rSETAD] := 0+StackAbs;\r
        InstructionStack[rSETUN] := 0+StackAbs;\r
        InstructionStack[rSETIN] := 0+StackAbs;\r
        InstructionStack[rSETDI] := 0+StackAbs;\r
        InstructionStack[rSETEQ] := 1;\r
        InstructionStack[rSETSB] := 1;\r
        InstructionStack[rSETSP] := 1;\r
        InstructionStack[rSETTM] := 1;\r
        InstructionStack[rSETATM]:= 3+StackNeg+4*StackPar;\r
        InstructionStack[rCEXCH] := 4+StackNeg+4*StackPar;\r
        InstructionStack[rMHALT] := 0;\r
        InstructionStack[rCRPUT] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rCGREG] := 1;\r
        InstructionStack[rLLOCK] := 1+StackNeg+3*StackPar;\r
        InstructionStack[rLRESE] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rLRELE] := 2+StackNeg+2*StackPar;\r
        InstructionStack[rRESTA] := 0;\r
        InstructionStack[rRESTC] := 0;\r
        InstructionStack[rSTSTC] := 0+StackAbs;\r
        InstructionStack[rINTRS] := 2+StackNeg+3*StackPar;\r
        InstructionStack[rINTH0] := 0+1*StackPar;\r
        InstructionStack[rINDEX] := 3+StackNeg+5*StackPar;\r
        InstructionStack[rINDH0] := 1+StackNeg+3*StackPar;\r
        InstructionStack[rINDH1] := 1+StackNeg+3*StackPar;\r
        InstructionStack[rINTPA] := 1+StackNeg+5*StackPar;\r
        InstructionStack[rINPDV] := 1+StackNeg+4*StackPar;\r
        InstructionStack[rMNOOP] := 0;\r
        InstructionStack[rMTRH]  := 0;\r
        InstructionStack[rMTRS]  := 0+StackAbs+1*StackPar;\r
\r
        FOR Inst := iXLAT TO iMOD DO iInstTorInst[Inst] := rMNOOP;\r
        iInstTorInst[iAND] := rAND;\r
        iInstTorInst[iMUL] := rMUL;\r
        iInstTorInst[iOR]  := rOR;\r
        iInstTorInst[iSUB] := rSUB;\r
        iInstTorInst[iXOR] := rXOR;\r
        iInstTorInst[iADD] := rADD;\r
        iInstTorInst[iDIV] := rDIV;\r
        iInstTorInst[iMOD] := rMOD;\r
\r
        NoPreExtDecl := NoOfPi3RoutinesAndSetRoutines;\r
        (* Initialize the the list of External Name  *)\r
        for i := 1 to NoOfPi3RoutinesAndSetRoutines do\r
          PreExtCalled[i] := 0;\r
\r
        PreName := 'EXCEPTION';\r
        PreExtName[Exception] := St_SpixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
        PreName := '_SHIFT____RC';\r
        PreExtName[shift] := St_SpixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
        PreName := '_INITREF__RC';\r
        PreExtName[Init_Reference] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := '_INITCH___RC';\r
        PreExtName[Init_Chain] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := 'INIT_SHARED';\r
        PreExtName[Init_Shared] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 11;\r
\r
\r
\r
        PreName := '_INITMBX__RC';\r
        PreExtName[Init_MailBox] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := '_INITPROC_RC';\r
        PreExtName[Init_Process] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
\r
        PreName := '_INITIPROGRC';\r
        PreExtName[Init_Internal] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
        PreName := '_INITPROG_RC';\r
        PreExtName[Init_External] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
        PreName := '_INITPORT_RC';\r
        PreExtName[Init_Port] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        (* InitPool = InitMailbox *)\r
\r
\r
\r
\r
        PreName := '_UNCHAIN__RC'; (* EF  insert  *)\r
        PreExtName[UnChain_LocalRef] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
        PreName := '_HEAPREF__RC';\r
        PreExtName[HEAPRef] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
        (* Init_LocalRef = Init_Reference *)\r
\r
\r
\r
        if computer =  Partner  then\r
        begin\r
          Prename := 'FAULT';\r
          LengthOfAllPreExtName := LengthOfAllPreExtName + 5;\r
        end\r
        else\r
        begin\r
        PreName := 'CHAINDEQUEUE';\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
        end;\r
\r
        PreExtName[ChainDeQueue] := St_SpixOfName(PreName);\r
\r
        if computer = Partner then\r
        begin\r
          Prename := 'FAULT';\r
          LengthOfAllPreExtName := LengthOfAllPreExtName + 5;\r
        end\r
        else\r
        begin\r
        PreName := 'CHAINENQUEUE';\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
        end;\r
\r
        PreExtName[ChainEnQueue] := St_SpixOfName(PreName);\r
\r
\r
\r
\r
\r
        PreName := 'ALLOCPOOL';\r
        PreExtName[AllocPool] := St_SpixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
        PreName := '_INITPOOL_RC';\r
        PreExtName[Init_Semaphore] := St_SpixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := '_REGION90_RC';\r
        PreExtName[WAITS] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
        PreName := '_REG_EXIT_RC';\r
        PreExtName[SignalS] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := 'RTP_EXCREC';\r
        PreExtName[ExcRec] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
        PreName := '_EXCHANGE_RC';\r
        PreExtName[ExcProcess] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 12;\r
\r
\r
\r
        PreName := 'RTP_EXPACK';\r
        PreExtName[ExcPack] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 10;\r
\r
        PreName := 'RTP_EXRECPACK';\r
        PreExtName[ExcRECPack] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 13;\r
\r
        PreName := 'RTP_EXPACKREC';\r
        PreExtName[ExcPackREC] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 13;\r
\r
\r
\r
        PreName := 'RTP_EQREC';\r
        PreExtName[Eqrec] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
\r
        PreName := 'RTP_STSTR';\r
        PreExtName[StStr] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
        PreName := 'RTP_EXSTR';\r
        PreExtName[ExStr] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
        PreName := 'RTP_GTSTR';\r
        PreExtName[GtStr] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
        PreName := 'RTP_LTSTR';\r
        PreExtName[LtStr] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
        PreName := 'RTP_EQSTR';\r
        PreExtName[EqStr] := St_spixOfName(PreName);\r
        LengthOfAllPreExtName := LengthOfAllPreExtName + 9;\r
\r
\r
          For i := 1 to 8 do\r
          begin\r
            Offsetstatistic[i] := 0;\r
            extthunkstatistic[i] := 0;\r
          end;\r
\r
\r
      END;  (* InitCodeGenerator *)\r
«eof»