-- file: TexDviImpl.mesa -- Pascal-to-Mesa translator output, translated at September 27, 1985 10:21:37 am PDT DIRECTORY PascalBasic, PascalWizardFiles, TexTypes, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexBuildPage, TexExtensions; TexDviImpl: PROGRAM IMPORTS PascalBasic, PascalWizardFiles, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexBuildPage, TexExtensions EXPORTS TexDvi = PUBLIC BEGIN OPEN PascalBasic, PascalWizardFiles, TexTypes, TexSysdep, TexSysdepInline, TexInteraction, TexMemory, TexSymbols, TexScan, TexDvi, TexOps, TexBuildPage, TexExtensions; --:592----595: DviBuf: LONG POINTER TO ARRAY DviIndex OF EightBits _ PascalStaticZone.NEW[ARRAY DviIndex OF EightBits]; HalfBuf: DviIndex; DviLimit: DviIndex; DviPtr: DviIndex; DviOffset: PascalInteger; DviGone: PascalInteger; --:595----605:-- DownPtr: Halfword; RightPtr: Halfword; --:605----616: DviH: Scaled; DviV: Scaled; CurH: Scaled; CurV: Scaled; DviF: InternalFontNumber; --:597----598: DviSwap: PROCEDURE = BEGIN IF DviLimit=DviBufSize THEN BEGIN WriteDvi[0,HalfBuf-1]; DviLimit_HalfBuf;DviOffset_DviOffset+DviBufSize;DviPtr_0; END ELSE BEGIN WriteDvi[HalfBuf,DviBufSize-1]; DviLimit_DviBufSize; END;DviGone_DviGone+HalfBuf; END;--:598----600: DviFour: PROCEDURE[X: PascalInteger] = BEGIN IF X>=0 THEN BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[X ,24]; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END ELSE BEGIN X_X+1073741824;X_X+1073741824; BEGIN DviBuf^[DviPtr]_( PascalDIVPower2[X ,24])+128;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; END;X_ PascalMODPower2Mask[X ,16777215]; BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[X ,16];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;X_ PascalMODPower2Mask[X ,65535]; BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[X ,8];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_ PascalMODPower2Mask[X ,255];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; END;--:600----601: DviPop: PROCEDURE[L: PascalInteger] = BEGIN IF(L=DviOffset+DviPtr)AND ( INT[DviPtr]>0) THEN DviPtr_DviPtr-1 ELSE BEGIN DviBuf^[DviPtr]_142;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; END;--:601----602: DviFontDef: PROCEDURE[F: InternalFontNumber] = BEGIN K:PoolPointer; BEGIN DviBuf^[DviPtr]_243;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;BEGIN DviBuf^[DviPtr]_F-1; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_FontCheck^[F].B0;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_FontCheck^[F].B1;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_FontCheck^[F].B2;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_FontCheck^[F].B3;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;DviFour[FontSize^[F]]; DviFour[FontDsize^[F]]; BEGIN DviBuf^[DviPtr]_( INT[StrStart^[FontArea^[F]+1]]-StrStart^[FontArea^[F ]]);DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_( INT[StrStart^[FontName^[F]+1]]-StrStart^[FontName^[F ]]);DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END;--603: FOR i:INT IN [ INT[StrStart^[FontArea^[F]]].. INT[ INT[StrStart^[FontArea^[F]+1]]-1 ]] DO K _ i; DviBuf^[DviPtr]_StrPool^[K];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; ENDLOOP; FOR i:INT IN [ INT[StrStart^[FontName^[F]]].. INT[ INT[StrStart^[FontName^[F]+1]]-1 ]] DO K _ i; DviBuf^[DviPtr]_StrPool^[K];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[];--:603-- ENDLOOP; END;--:602----607: Movement: PROCEDURE[W: Scaled,O: EightBits] = BEGIN Mstate:SmallNumber;P, Q:Halfword;K:PascalInteger; --610:-- Q_GetNode[3]; Mem[Q+1]^.Int_W;Mem[Q+2]^.Int_DviOffset+DviPtr; IF O=157 THEN BEGIN Mem[Q]^.Hh.Rh_DownPtr;DownPtr_Q; END ELSE BEGIN Mem[Q]^.Hh.Rh_RightPtr;RightPtr_Q; END;--611: P_Mem[Q]^.Hh.Rh;Mstate_0; {{{WHILE P#0 DO BEGIN IF Mem[P+1]^.Int=W THEN--612: SELECT INT[Mstate]+Mem[P]^.Hh.Lh FROM 3,4,15,16 =>IF Mem[P+2]^.IntIF Mem[P+2]^.Int GOTO Label40; ENDCASE => NULL--:612 ELSE SELECT INT[Mstate]+Mem[P]^.Hh.Lh FROM 1 =>Mstate_6;2 =>Mstate_12;8,13 => GOTO Label45; ENDCASE => NULL;P_Mem[P]^.Hh.Rh; END ENDLOOP ;EXITS Label45 => NULL};--:611--Mem[Q]^.Hh.Lh_3; IF ABS[W]>=8388608 THEN BEGIN BEGIN DviBuf^[DviPtr]_O+3; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END;DviFour[W]; GOTO Label10; END;{{IF ABS[W]>=32768 THEN BEGIN BEGIN DviBuf^[DviPtr]_O+2; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; IF W<0 THEN W_W+16777216;BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[W ,16]; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; W_ PascalMODPower2Mask[W ,65535]; GOTO Label2; END; IF ABS[W]>=128 THEN BEGIN BEGIN DviBuf^[DviPtr]_O+1; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; IF W<0 THEN W_W+65536; GOTO Label2; END;BEGIN DviBuf^[DviPtr]_O; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; IF W<0 THEN W_W+256; GOTO Label1;EXITS Label2 => NULL};BEGIN DviBuf^[DviPtr]_ PascalDIVPower2[W ,8]; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; EXITS Label1 => NULL};BEGIN DviBuf^[DviPtr]_ PascalMODPower2Mask[W ,255];DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; GOTO Label10--:610--;EXITS Label40 => NULL};--609: Mem[Q]^.Hh.Lh_Mem[P]^.Hh.Lh; IF Mem[Q]^.Hh.Lh=1 THEN BEGIN BEGIN DviBuf^[DviPtr]_O+4; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; WHILE Mem[Q]^.Hh.Rh#P DO BEGIN Q_Mem[Q]^.Hh.Rh; SELECT Mem[Q]^.Hh.Lh FROM 3 =>Mem[Q]^.Hh.Lh_5;4 =>Mem[Q]^.Hh.Lh_6; ENDCASE => NULL; END ENDLOOP ; END ELSE BEGIN BEGIN DviBuf^[DviPtr]_O+9;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; WHILE Mem[Q]^.Hh.Rh#P DO BEGIN Q_Mem[Q]^.Hh.Rh; SELECT Mem[Q]^.Hh.Lh FROM 3 =>Mem[Q]^.Hh.Lh_4;5 =>Mem[Q]^.Hh.Lh_6; ENDCASE => NULL; END ENDLOOP ; END--:609--;EXITS Label10 => NULL}; END;--:607----615:-- PruneMovements: PROCEDURE[L: PascalInteger] = BEGIN P:Halfword; {WHILE DownPtr#0 DO BEGIN IF Mem[DownPtr+2]^.Int NULL};{WHILE RightPtr#0 DO BEGIN IF Mem[RightPtr+2]^.Int NULL}; END;--:615 HlistOut: PROCEDURE = BEGIN BaseLine:Scaled;LeftEdge:Scaled; SaveH, SaveV:Scaled;ThisBox:Halfword;GOrder:GlueOrd;GSign:PascalInteger[0..2]; P:Halfword;SaveLoc:PascalInteger;LeaderBox:Halfword;LeaderWd:Scaled; Lx:Scaled;OuterDoingLeaders:PascalBoolean;Edge:Scaled; ThisBox_TempPtr;GOrder_Mem[ThisBox+5]^.Hh.B1; GSign_Mem[ThisBox+5]^.Hh.B0;P_Mem[ThisBox+5]^.Hh.Rh;CurS_CurS+1; IF CurS>0 THEN BEGIN DviBuf^[DviPtr]_141;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; IF CurS>MaxPush THEN MaxPush_CurS;SaveLoc_DviOffset+DviPtr; BaseLine_CurV;LeftEdge_CurH;WHILE P#0 DO--620: DO {IF( INT[P]>=HiMemMin) THEN BEGIN IF CurH#DviH THEN BEGIN Movement[CurH -DviH,143];DviH_CurH; END; IF CurV#DviV THEN BEGIN Movement[CurV-DviV,157];DviV_CurV; END; DO F_Mem[P]^.Hh.B0;C_Mem[P]^.Hh.B1;IF F#DviF THEN--621: BEGIN IF NOT FontUsed^[F] THEN BEGIN DviFontDef[F];FontUsed^[F]_TRUE; END;IF INT[F]<=64 THEN BEGIN DviBuf^[DviPtr]_F+170;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END ELSE BEGIN BEGIN DviBuf^[DviPtr]_235;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;BEGIN DviBuf^[DviPtr]_F-1; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; END;DviF_F; END--:621--;IF INT[C]<128 THEN BEGIN DviBuf^[DviPtr]_C;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END ELSE BEGIN BEGIN DviBuf^[DviPtr]_128;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;BEGIN DviBuf^[DviPtr]_C; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; END; CurH_CurH+FontInfo^[WidthBase^[F]+FontInfo^[CharBase^[F]+C].Qqqq.B0]. Int;P_Mem[P]^.Hh.Rh; IF NOT ( INT[P]>=HiMemMin) THEN EXIT; ENDLOOP;DviH_CurH; END ELSE--622: BEGIN {{{SELECT Mem[P]^.Hh.B0 FROM 0,1 =>--623: IF Mem[P+5]^.Hh.Rh=0 THEN CurH_CurH+Mem[P+1]^.Int ELSE BEGIN SaveH_ DviH;SaveV_DviV;CurV_BaseLine+Mem[P+4]^.Int;TempPtr_P; Edge_CurH;IF Mem[P]^.Hh.B0=1 THEN VlistOut [] ELSE HlistOut[]; DviH_SaveH;DviV_SaveV;CurH_Edge+Mem[P+1]^.Int;CurV_BaseLine; END--:623--;2 =>BEGIN RuleHt_Mem[P+3]^.Int;RuleDp_Mem[P+2]^.Int; RuleWd_Mem[P+1]^.Int; GOTO Label14; END;8 =>--1366:--OutWhat[P]--:1366--;10 =>--625: BEGIN G_Mem[P+1]^.Hh.Lh;RuleWd_Mem[G+1]^.Int; IF GSign#0 THEN BEGIN IF GSign=1 THEN BEGIN IF Mem[G]^.Hh.B0=GOrder THEN RuleWd_RuleWd+PascalROUND[Mem[ThisBox+6]^.Gr*PascalFLOAT[Mem[G+2]^.Int]]; END ELSE BEGIN IF Mem[G]^.Hh.B1=GOrder THEN RuleWd_RuleWd-PascalROUND[Mem[ ThisBox+6]^.Gr*PascalFLOAT[Mem[G+3]^.Int]]; END; END;IF INT[Mem[P]^.Hh.B1]>=100 THEN--626: BEGIN LeaderBox_Mem[P+1]^.Hh.Rh; IF Mem[LeaderBox]^.Hh.B0=2 THEN BEGIN RuleHt_Mem[LeaderBox+3]^.Int; RuleDp_Mem[LeaderBox+2]^.Int; GOTO Label14; END; LeaderWd_Mem[LeaderBox+1]^.Int; IF(LeaderWd>0)AND (RuleWd>0) THEN BEGIN Edge_CurH+RuleWd;Lx_0;--627: IF Mem[P]^.Hh.B1=100 THEN BEGIN SaveH_CurH; CurH_LeftEdge+LeaderWd*( (CurH-LeftEdge)/LeaderWd); IF CurHCurH_CurH+Mem[P+1]^.Int;6 =>--652: BEGIN Mem[64988]^_Mem[P+1]^;Mem[64988]^.Hh.Rh_Mem[P]^.Hh.Rh;P_64988; GOTO Label21; END--:652--; ENDCASE => NULL; GOTO Label15;EXITS Label14 => NULL};--624: IF(RuleHt=-1073741824) THEN RuleHt_Mem[ThisBox+3]^.Int; IF(RuleDp=-1073741824) THEN RuleDp_Mem[ThisBox+2]^.Int; RuleHt_RuleHt+RuleDp; IF(RuleHt>0)AND (RuleWd>0) THEN BEGIN IF CurH#DviH THEN BEGIN Movement[CurH-DviH,143];DviH_CurH; END;CurV_BaseLine+RuleDp; IF CurV#DviV THEN BEGIN Movement[CurV-DviV,157];DviV_CurV; END; BEGIN DviBuf^[DviPtr]_132;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;DviFour[RuleHt]; DviFour[RuleWd];CurV_BaseLine;DviH_DviH+RuleWd; END--:624--; EXITS Label13 => NULL};CurH_CurH+RuleWd;EXITS Label15 => NULL};P_Mem[P]^.Hh.Rh; END--:622----:620--; EXIT; EXITS Label21 => NULL} ENDLOOP ENDLOOP ; PruneMovements[SaveLoc];IF CurS>0 THEN DviPop[SaveLoc]; CurS_CurS-1; END;--:619----629:-- --618:-- VlistOut: PROCEDURE = BEGIN LeftEdge:Scaled;TopEdge:Scaled;SaveH, SaveV:Scaled; ThisBox:Halfword;GOrder:GlueOrd;GSign:PascalInteger[0..2];P:Halfword; SaveLoc:PascalInteger;LeaderBox:Halfword;LeaderHt:Scaled;Lx:Scaled; OuterDoingLeaders:PascalBoolean;Edge:Scaled; ThisBox_TempPtr; GOrder_Mem[ThisBox+5]^.Hh.B1;GSign_Mem[ThisBox+5]^.Hh.B0; P_Mem[ThisBox+5]^.Hh.Rh;CurS_CurS+1; IF CurS>0 THEN BEGIN DviBuf^[DviPtr]_141;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END; IF CurS>MaxPush THEN MaxPush_CurS;SaveLoc_DviOffset+DviPtr; LeftEdge_CurH;CurV_CurV-Mem[ThisBox+3]^.Int;TopEdge_CurV; WHILE P#0 DO--630:--BEGIN {IF( INT[P]>=HiMemMin) THEN Confusion[685] ELSE--631: BEGIN {{SELECT Mem[P]^.Hh.B0 FROM 0,1 =>--632: IF Mem[P+5]^.Hh.Rh=0 THEN CurV_CurV+Mem[P+3]^.Int+Mem[P+2]^.Int ELSE BEGIN CurV_CurV+Mem[P+3]^.Int; IF CurV#DviV THEN BEGIN Movement[CurV-DviV,157];DviV_CurV; END; SaveH_DviH;SaveV_DviV;CurH_LeftEdge+Mem[P+4]^.Int;TempPtr_P; IF Mem[P]^.Hh.B0=1 THEN VlistOut [] ELSE HlistOut[];DviH_SaveH; DviV_SaveV;CurV_SaveV+Mem[P+2]^.Int;CurH_LeftEdge; END--:632--; 2 =>BEGIN RuleHt_Mem[P+3]^.Int;RuleDp_Mem[P+2]^.Int; RuleWd_Mem[P+1]^.Int; GOTO Label14; END;8 =>--1365:--OutWhat[P]--:1365--;10 =>--634: BEGIN G_Mem[P+1]^.Hh.Lh;RuleHt_Mem[G+1]^.Int; IF GSign#0 THEN BEGIN IF GSign=1 THEN BEGIN IF Mem[G]^.Hh.B0=GOrder THEN RuleHt_RuleHt+PascalROUND[Mem[ThisBox+6]^.Gr*PascalFLOAT[Mem[G+2]^.Int]]; END ELSE BEGIN IF Mem[G]^.Hh.B1=GOrder THEN RuleHt_RuleHt-PascalROUND[Mem[ ThisBox+6]^.Gr*PascalFLOAT[Mem[G+3]^.Int]]; END; END;IF INT[Mem[P]^.Hh.B1]>=100 THEN--635: BEGIN LeaderBox_Mem[P+1]^.Hh.Rh; IF Mem[LeaderBox]^.Hh.B0=2 THEN BEGIN RuleWd_Mem[LeaderBox+1]^.Int; RuleDp_0; GOTO Label14; END; LeaderHt_Mem[LeaderBox+3]^.Int+Mem[LeaderBox+2]^.Int; IF(LeaderHt>0)AND (RuleHt>0) THEN BEGIN Edge_CurV+RuleHt;Lx_0;--636: IF Mem[P]^.Hh.B1=100 THEN BEGIN SaveV_CurV; CurV_TopEdge+LeaderHt*( (CurV-TopEdge)/LeaderHt); IF CurVCurV_CurV+Mem[P+1]^.Int; ENDCASE => NULL; GOTO Label15;EXITS Label14 => NULL};--633: IF(RuleWd=-1073741824) THEN RuleWd_Mem[ThisBox+1]^.Int; RuleHt_RuleHt+RuleDp;CurV_CurV+RuleHt; IF(RuleHt>0)AND (RuleWd>0) THEN BEGIN IF CurH#DviH THEN BEGIN Movement[CurH-DviH,143];DviH_CurH; END; IF CurV#DviV THEN BEGIN Movement[CurV-DviV,157];DviV_CurV; END; BEGIN DviBuf^[DviPtr]_137;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;DviFour[RuleHt]; DviFour[RuleWd]; END; GOTO Label15--:633--;EXITS Label13 => NULL};CurV_CurV+RuleHt; END--:631--; EXITS Label15 => NULL};P_Mem[P]^.Hh.Rh; END--:630-- ENDLOOP ;PruneMovements[SaveLoc]; IF CurS>0 THEN DviPop[SaveLoc];CurS_CurS-1; END;--:629----638:----1377: ShipOut: PROCEDURE[P: Halfword] = BEGIN PageLoc:PascalInteger;J, K:PascalInteger[0..9]; S:PoolPointer;OldSetting:PascalInteger[0..21]; IF Eqtb^[4801].Int>0 THEN BEGIN PrintNl[210];PrintLn[];Print[686]; END; IF INT[TermOffset]>MaxPrintLine-9 THEN PrintLn [] ELSE IF( INT[TermOffset]>0)OR ( INT[FileOffset]>0) THEN PrintChar[32];PrintChar[91];J_9; WHILE(Eqtb^[4817+J].Int=0)AND ( INT[J]>0)DO J_J-1 ENDLOOP ; FOR i:INT IN [ INT[0 ].. INT[J ]] DO K _ i; PrintInt[Eqtb^[4817+K].Int]; IF INT[K]0 THEN BEGIN PrintChar[93];BeginDiagnostic[]; ShowBox[P];EndDiagnostic[TRUE]; END;--640:----641: {IF(Mem[P+3]^.Int>1073741823)OR (Mem[P+2]^.Int>1073741823)OR ( Mem[P+3]^.Int+Mem[P+2]^.Int+Eqtb^[5220].Int>1073741823)OR ( Mem[P+1]^.Int+Eqtb^[5219].Int>1073741823) THEN BEGIN BEGIN IF Interaction=3 THEN NULL;PrintNl[134]; Print[690]; END;BEGIN HelpPtr_2;HelpLine^[1]_691;HelpLine^[0]_692; END;Error[];IF Eqtb^[4801].Int<=0 THEN BEGIN BeginDiagnostic[]; PrintNl[693];ShowBox[P];EndDiagnostic[TRUE]; END; GOTO Label30; END; IF Mem[P+3]^.Int+Mem[P+2]^.Int+Eqtb^[5220].Int>MaxV THEN MaxV_Mem[P+3]^. Int+Mem[P+2]^.Int+Eqtb^[5220].Int; IF Mem[P+1]^.Int+Eqtb^[5219].Int>MaxH THEN MaxH_Mem[P+1]^.Int+Eqtb^[5219] .Int--:641--;--617:--DviH_0;DviV_0;CurH_Eqtb^[5219].Int;DviF_0; CurS_-1;PrepareMag[]; IF UsePressFormat THEN BEGIN IF OutputFileName=0 THEN BEGIN IF JobName=0 THEN OpenLogFile[];PackJobName[650]; WHILE NOT PressOpenOut []DO PromptFileName[651,650] ENDLOOP ; OutputFileName_PressMakeNameString[]; END;IF TotalPages=0 THEN NULL; END ELSE BEGIN IF OutputFileName=0 THEN BEGIN IF JobName=0 THEN OpenLogFile[];PackJobName[652]; WHILE NOT BOpenOut[@DviFile]DO PromptFileName[651,652] ENDLOOP ; OutputFileName_BMakeNameString[@DviFile]; END; IF TotalPages=0 THEN BEGIN BEGIN DviBuf^[DviPtr]_247; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; BEGIN DviBuf^[DviPtr]_2;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;DviFour[25400000]; DviFour[473628672];PrepareMag[];DviFour[Eqtb^[4784].Int]; OldSetting_Selector;Selector_21;Print[684];PrintInt[Eqtb^[4790].Int]; PrintChar[46];PrintTwo[Eqtb^[4789].Int];PrintChar[46]; PrintTwo[Eqtb^[4788].Int];PrintChar[58]; PrintTwo[ Eqtb^[4787].Int /60];PrintTwo[ Eqtb^[4787].Int MOD 60]; Selector_OldSetting; BEGIN DviBuf^[DviPtr]_( INT[PoolPtr]-StrStart^[StrPtr]); DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; FOR i:INT IN [ INT[StrStart^[StrPtr]].. INT[ INT[PoolPtr]-1 ]] DO S _ i; DviBuf^[DviPtr]_ StrPool^[S];DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; ENDLOOP; PoolPtr_StrStart^[StrPtr]; END; END--:617--; IF UsePressFormat THEN BEGIN CurV_Mem[P+3]^.Int+Eqtb^[5220].Int; TempPtr_P;IF Mem[P]^.Hh.B0=1 THEN VlistPressOut [] ELSE HlistPressOut[]; PressWritePage[];TotalPages_TotalPages+1; END ELSE BEGIN PageLoc_DviOffset+DviPtr;BEGIN DviBuf^[DviPtr]_139; DviPtr_DviPtr+1;IF DviPtr=DviLimit THEN DviSwap[]; END; FOR i:INT IN [ INT[0 ].. INT[9 ]] DO K _ i; DviFour[Eqtb^[4817+K].Int] ENDLOOP;DviFour[LastBop]; LastBop_PageLoc;CurV_Mem[P+3]^.Int+Eqtb^[5220].Int;TempPtr_P; IF Mem[P]^.Hh.B0=1 THEN VlistOut [] ELSE HlistOut[]; BEGIN DviBuf^[DviPtr]_140;DviPtr_DviPtr+1; IF DviPtr=DviLimit THEN DviSwap[]; END;TotalPages_TotalPages+1; END; EXITS Label30 => NULL};--:640--IF Eqtb^[4801].Int<=0 THEN PrintChar[93];DeadCycles_0; PascalTextBREAK[file: @TermOut];--639:--IF Eqtb^[4798].Int>1 THEN BEGIN PrintNl[687]; PrintInt[VarUsed];PrintChar[38];PrintInt[DynUsed];PrintChar[59]; END;FlushNodeList[P];IF Eqtb^[4798].Int>1 THEN BEGIN Print[688]; PrintInt[VarUsed];PrintChar[38];PrintInt[DynUsed];Print[689]; PrintInt[ INT[HiMemMin]-LoMemMax-1];PrintLn[]; END;--:639-- END;--:638----645: END.