|
|
DataMuseum.dkPresents historical artifacts from the history of: DANOSI |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DANOSI Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 24629 (0x6035)
Types: TextFile
Names: »P435INIT.PAS«
└─⟦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«
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»