mirror of
https://github.com/pkimpel/retro-220.git
synced 2026-04-27 12:30:12 +00:00
Commit initial production release of BALGOL compiler, library, and tools.
1. Finalize compiler helper card decks. 2. Finalize example BALGOL programs. 3. Fix problem with relocation of ERROR library routine buffer address (issue #1). 4. Update Generator tape build notes.
This commit is contained in:
@@ -0,0 +1,352 @@
|
||||
?COMPILE DIRCHLT/B5500 XALGOL GO
|
||||
?DATA CARD
|
||||
$ CARD LIST SINGLE 00000100
|
||||
% DIRICHLET PROBLEM FOR A BEAN-SHAPED REGION. FROM P J DAVIS, 00100100
|
||||
% "ORTHONORMALIZING CODES IN NUMERICAL ANALYSIS" IN J TODD, --SURVEY OF 00100200
|
||||
% NUMERICAL ANLAYSIS--, MCGRAW-HILL, 1962, P.347. P H KIMPEL 8/15/70 00100300
|
||||
% MODIFICATION LOG: 00100320
|
||||
% 92/03/17 P.KIMPEL, PARADIGM CORP, SAN DIEGO, CA 92117. 00100321
|
||||
% CONVERT FOR UNISYS A-SERIES MCP 3.8.4. 00100322
|
||||
% 2014-11-15 P.KIMPEL 00100330
|
||||
% RETRO-CONVERT FROM UNISYS MCP ALGOL BACK TO BURROUGHS B5500 XALGOL. 00100331
|
||||
00100398
|
||||
BEGIN 00100400
|
||||
FILE IN CDS (1,10); 00100500
|
||||
FILE OUT PR 18 (2,17); 00100600
|
||||
FORMAT F1 (X30,I3,2F10.3,4F10.5), 00100700
|
||||
F2 (X40,"X",X9,"Y",X9,"W",X8,"BV",X7,"CBV,",X7,"DEV"), 00100800
|
||||
FT (///X40,"PROCESSOR TIME: ", F6.2," SEC"); 00100900
|
||||
DEFINE N = 43#, M = 11#, P = 11#, N1 = 42#, M1 = 10#, P1 = 10#; 00101000
|
||||
LABEL QUIT; 00101100
|
||||
INTEGER I, J; 00101200
|
||||
INTEGER STARTT; 00101210
|
||||
REAL SUM, GMDT; 00101300
|
||||
ARRAY 00101400
|
||||
X, % ABSCISSA VALUES. 00101500
|
||||
Y, % ORDINATE VALUES. 00101600
|
||||
W, % WEIGHTS. 00101700
|
||||
CBV[0:N1], % BOUNDARY VALUES CALCULATED FROM ORTHO COEFS.00101800
|
||||
BV[0:0, 0:N1+P], % GIVEN BOUNDARY VALUES. 00101900
|
||||
Z[0:M1, 0:N1+P], % APPROXIMATING VECTORS. 00102000
|
||||
ORTHV[0:M, 0:N1+P], % ORTHONORMAL VECTORS RETURNED BY "ORTHO" 00102100
|
||||
DEV[0:0, 0:N1], % DEVIATIONS. 00102200
|
||||
COF[0:0, 0:P1], % COEFFICIENTS. 00102300
|
||||
STD[0:0], % STANDARD DEVIATION. 00102400
|
||||
CV[0:P, 0:P1], % COVARIANCE MATRIX. 00102500
|
||||
VCV[0:0, 0:P, 0:P1], % VARIANCE/COVARIANCE MATRIX. 00102600
|
||||
Q[0:0, 0:M], % FOURIER COEFFICIENTS. 00102700
|
||||
Q2, % SQUARED FOURIER COEFFICIENTS. 00102800
|
||||
E, % SUM OF SQUARED RESIDUALS. 00102900
|
||||
EP[0:0, 0:M1], % RESIDUALS. 00103000
|
||||
A[0:M1, 0:P1], % LOWER TRIANGULAR MATRIX USED TO CALC CV. 00103100
|
||||
GF[0:M], % GRAM FACTORS. 00103200
|
||||
ENF[0:M1]; % NORMS OF THE APPROXIMATING VECTORS. 00103300
|
||||
%***********************************************************************00103400
|
||||
PROCEDURE ORTHO (W, Y, Z, N, FN, M, P, R, AI, AUI, MUI, ZEI, X, DEV, 00103500
|
||||
COF, STD, CV, VCV, GMDT, Q, Q2, E, EP, A, GF, ENF); 00103600
|
||||
VALUE N, M, P, R, AI, AUI, MUI, ZEI; 00103700
|
||||
REAL FN, GMDT; 00103800
|
||||
REAL ARRAY STD, GF, W, ENF [1]; 00103900
|
||||
REAL ARRAY Y, Z, X, DEV, COF, CV, Q, Q2, E, EP, A [1, 1]; 00104000
|
||||
REAL ARRAY VCV [1, 1, 1]; 00104100
|
||||
INTEGER N, M, P, R, AI, AUI, ZEI, MUI; 00104200
|
||||
COMMENT 00104300
|
||||
ORTHO IS TAKEN FROM ACM ALGORITHM 127 [COMM. ACM, VOL.5, 00104400
|
||||
OCTOBER 1962, P. 511, AUTHOR: PHILIP J. WALSH]; 00104500
|
||||
BEGIN 00104600
|
||||
INTEGER NPP, NPM, M1, N2, M2, R1, RBAR, P2, BEI, RHI, I18, GAI, SII, I,00104700
|
||||
J, DEI, NUI, E1Z2, E1Z1, K, THI, ALI, OMI, NII; 00104800
|
||||
REAL ARRAY PK, XP [1:N+P], QK[1:M+1]; 00104900
|
||||
REAL DENOM, SUM, DK2, DK, FI, SS, SSQ; 00105000
|
||||
LABEL BOX1, AT1, AT2, BOX2, AU1, AU2, BOX3, BOX4, BOX5, BOX6, MU1, 00105100
|
||||
MU2, BOX7, OM1, OM2, BOX8, DE1, BOX8A, BOX8B, DE2, BOX8C, BOX8D, 00105200
|
||||
BOX9, TH1, TH2, TH3, BOX10, AL1, AL2, BOX11, NU1, NU2, BOX12, 00105300
|
||||
BE1, BE2, BOX13, GA1, GA2, BOX14, RH1, ZE1, ZE2, RH2, SI1, SI2, 00105400
|
||||
FINAL; 00105500
|
||||
SWITCH AT := AT1, AT2; SWITCH ZE := ZE1, ZE2; 00105600
|
||||
SWITCH AU := AU1, AU2; SWITCH MU := MU1, MU2; 00105700
|
||||
SWITCH BE := BE1, BE2; SWITCH RH := RH1, RH2; SWITCH GA := GA1, GA2;00105800
|
||||
SWITCH SI := SI1, SI2; SWITCH DE := DE1, DE2; SWITCH NU := NU1, NU200105900
|
||||
; 00106000
|
||||
SWITCH TH := TH1, TH2, TH3; SWITCH AL := AL1, AL2; 00106100
|
||||
SWITCH OM := OM1, OM2; 00106200
|
||||
NPP := N+P; NPM := N+M; M1 := M-1; N2 := N+1; M2 := M+1; 00106300
|
||||
R1 := 0; RBAR := R; P2 := P+1; DENOM := IF N=M THEN 1.0 00106400
|
||||
ELSE SQRT(N-M); BEI := RHI := I18 := 1; 00106500
|
||||
IF (P NEQ 0) THEN GAI := SII := 2 ELSE GAI := SII := 1; 00106600
|
||||
BOX1: GO TO AT[AI]; 00106700
|
||||
AT1: FOR J := 1 STEP 1 UNTIL N DO BEGIN 00106800
|
||||
X[2,J] := Z[1,J]; X[1,J] := 1.0 END; 00106900
|
||||
FOR I := 2 STEP 1 UNTIL M1 DO BEGIN 00107000
|
||||
FOR J := 1 STEP 1 UNTIL N DO 00107100
|
||||
X[I+1,J] := X[I,J] | X[2,J] END; GO TO BOX2; 00107200
|
||||
AT2: FOR I := 1 STEP 1 UNTIL M DO BEGIN 00107300
|
||||
FOR J := 1 STEP 1 UNTIL N DO 00107400
|
||||
X[I,J] := Z[I,J] END; 00107500
|
||||
BOX2: IF P = 0 THEN GO TO BOX3 ELSE GO TO AU[AUI]; 00107600
|
||||
AU1: FOR I := 1 STEP 1 UNTIL M DO BEGIN 00107700
|
||||
FOR J := N2 STEP 1 UNTIL NPP DO 00107800
|
||||
X[I,J] := 0.0; X[I,N+I] := 1.0 END; GO TO BOX3; 00107900
|
||||
AU2: FOR I := 1 STEP 1 UNTIL M DO BEGIN 00108000
|
||||
FOR J := N2 STEP 1 UNTIL NPP DO 00108100
|
||||
X[I,J] := Z[I,J] END; 00108200
|
||||
BOX3: DEI := NUI := E1Z1 := E1Z2 := K := 1; 00108300
|
||||
BOX4: THI := 1; 00108400
|
||||
BOX5: ALI := OMI := 1; IF P = 0 THEN GO TO BOX6 ELSE 00108500
|
||||
FOR J := 1 STEP 1 UNTIL P DO PK[N+J] := 0.0; 00108600
|
||||
BOX6: GO TO MU[MUI]; 00108700
|
||||
MU1: FOR I := 1 STEP 1 UNTIL N DO PK[I] := X[K,I]; 00108800
|
||||
GO TO BOX7; 00108900
|
||||
MU2: FOR I := 1 STEP 1 UNTIL N DO 00109000
|
||||
PK[I] := X[K,I] | W[I]; GO TO BOX7; 00109100
|
||||
BOX7: GO TO OM[OMI]; 00109200
|
||||
OM1: FOR I := 1 STEP 1 UNTIL K DO BEGIN SUM := 0.0; 00109300
|
||||
FOR J := 1 STEP 1 UNTIL NPP DO 00109400
|
||||
SUM := SUM + PK[J] | X[I,J]; QK[I] := SUM END; 00109500
|
||||
GO TO BOX8; 00109600
|
||||
OM2: DK2 := 0.0; FOR I := 1 STEP 1 UNTIL NPP DO 00109700
|
||||
DK2 := DK2 + PK[I] | X[K,I]; 00109800
|
||||
DK := SQRT(DK2); 00109900
|
||||
GF[I18] := DK; I18 := I18 + 1; 00110000
|
||||
FOR I := 1 STEP 1 UNTIL NPP DO 00110100
|
||||
X[K,I] := X[K,I]/DK; 00110200
|
||||
OMI := 1; GO TO BOX6; 00110300
|
||||
BOX8: GO TO DE[DEI]; 00110400
|
||||
DE1: E1Z1 := -E1Z1; IF E1Z1 < 0 THEN GO TO BOX8B ELSE 00110500
|
||||
GO TO BOX8A; 00110600
|
||||
BOX8A: FOR I := 1 STEP 1 UNTIL K-1 DO 00110700
|
||||
QK[I] := -QK[I]; QK[K] := 1.0; 00110800
|
||||
FOR I := 1 STEP 1 UNTIL NPP DO BEGIN 00110900
|
||||
SUM := 0.0; FOR J := 1 STEP 1 UNTIL K DO 00111000
|
||||
SUM := SUM + X[J,I] | QK[J]; 00111100
|
||||
XP[I] := SUM END; GO TO BOX9; 00111200
|
||||
BOX8B: ENF[I18] := SQRT(QK[K]); GO TO BOX8A; 00111300
|
||||
DE2: E1Z2 := -E1Z2; IF E1Z2 < 0 THEN GO TO BOX8C ELSE 00111400
|
||||
GO TO BOX8A; 00111500
|
||||
BOX8C: FOR I := 1 STEP 1 UNTIL M DO BEGIN 00111600
|
||||
Q[R1,I] := QK[I]; Q2[R1,I] := QK[I] | QK[I] END; 00111700
|
||||
Q[R1,M2] := QK[M2]; E[R1,1] := Q[R1,M2] - Q2[R1,1]; 00111800
|
||||
FOR J := 2 STEP 1 UNTIL M DO 00111900
|
||||
E[R1,J] := E[R1,J-1] - Q2[R1,J]; 00112000
|
||||
FI := 1.0; 00112100
|
||||
FOR I := 1 STEP 1 UNTIL M DO BEGIN 00112200
|
||||
IF (FN - FI) > 0.0 THEN BEGIN IF E[R1,I] < 0.0 THEN 00112300
|
||||
BEGIN EP[R1,I] := -SQRT(ABS(E[R1,I])/(FN - FI)); 00112400
|
||||
GO TO BOX8D; END 00112500
|
||||
ELSE EP[R1,I] := SQRT(E[R1,I]/(FN - FI)); 00112600
|
||||
GO TO BOX8D; END ELSE E[R1,I] := -1.0; 00112700
|
||||
BOX8D: FI := FI + 1.0; END; GO TO BOX8A; 00112800
|
||||
BOX9: GO TO TH[THI]; 00112900
|
||||
TH1: FOR I := 1 STEP 1 UNTIL NPP DO 00113000
|
||||
X[K,I] := XP[I]; GO TO BOX10; 00113100
|
||||
TH2: FOR I := 1 STEP 1 UNTIL N DO 00113200
|
||||
DEV[R1,I] := XP[I]; 00113300
|
||||
FOR I := 1 STEP 1 UNTIL P DO 00113400
|
||||
COF[R1,I] := -XP[N+I]; THI := 3; GO TO TH1; 00113500
|
||||
TH3: GO TO BOX11; 00113600
|
||||
BOX10: GO TO AL[ALI]; 00113700
|
||||
AL1: OMI := ALI := 2; GO TO BOX6; 00113800
|
||||
AL2: IF K < M THEN BEGIN K := K + 1; GO TO BOX4; END 00113900
|
||||
ELSE GO TO BOX12; 00114000
|
||||
BOX11: GO TO NU[NUI]; 00114100
|
||||
NU1: NUI := 2; GO TO BOX14; 00114200
|
||||
NU2: SS := DK/DENOM; SSQ := SS | SS; 00114300
|
||||
STD[R1] := SS; GO TO BOX14; 00114400
|
||||
BOX12: GO TO BE[BEI]; 00114500
|
||||
BE1: FOR I := 1 STEP 1 UNTIL M DO BEGIN 00114600
|
||||
FOR J := 1 STEP 1 UNTIL P DO 00114700
|
||||
A[I,J] := X[I,N+J] END; 00114800
|
||||
GMDT := 1.0; FOR I := 1 STEP 1 UNTIL M DO 00114900
|
||||
GMDT := GMDT | (GF[I]/ENF[I]); 00115000
|
||||
GMDT := GMDT | GMDT; DEI := BEI := THI := 2; 00115100
|
||||
K := K + 1; GO TO BOX13; 00115200
|
||||
BE2: GO TO BOX11; 00115300
|
||||
BOX13: GO TO GA[GAI]; 00115400
|
||||
GA1: GO TO BOX11; 00115500
|
||||
GA2: FOR I := 1 STEP 1 UNTIL P DO BEGIN 00115600
|
||||
FOR J := I STEP 1 UNTIL P DO BEGIN 00115700
|
||||
SUM := 0.0; 00115800
|
||||
FOR NII := 1 STEP 1 UNTIL M DO 00115900
|
||||
SUM := SUM + A[NII,I] | A[NII,J]; 00116000
|
||||
CV[I,J] := SUM END END; 00116100
|
||||
FOR I := 1 STEP 1 UNTIL P DO 00116200
|
||||
CV[P2,I] := SQRT(CV[I,I]); GAI := 1; GO TO BOX11; 00116300
|
||||
BOX14: GO TO RH[RHI]; 00116400
|
||||
RH1: IF RBAR = 0 THEN GO TO FINAL ELSE RBAR := RBAR - 1; 00116500
|
||||
R1 := R1 + 1; THI := RHI := 2; GO TO ZE[ZEI]; 00116600
|
||||
ZE1: FOR I := 1 STEP 1 UNTIL N DO 00116700
|
||||
X[M2,I] := Y[R1,I]; 00116800
|
||||
FOR I := 1 STEP 1 UNTIL P DO 00116900
|
||||
X[M2,N+I] := 0.0; GO TO BOX5; 00117000
|
||||
ZE2: FOR I := 1 STEP 1 UNTIL NPP DO 00117100
|
||||
X[M2,I] := Y[R1,I]; GO TO BOX5; 00117200
|
||||
RH2: GO TO SI[SII]; 00117300
|
||||
SI1: GO TO RH1; 00117400
|
||||
SI2: FOR I := 1 STEP 1 UNTIL P DO BEGIN 00117500
|
||||
FOR J := I STEP 1 UNTIL P DO 00117600
|
||||
VCV[R1,I,J] := SSQ | CV[I,J] END; 00117700
|
||||
FOR I := 1 STEP 1 UNTIL P DO 00117800
|
||||
VCV[R1, P2, I] := SS | CV[P2,I]; GO TO RH1; 00117900
|
||||
FINAL: END ORTHO ; 00118000
|
||||
%***********************************************************************00118100
|
||||
REAL PROCEDURE G (I, X, Y); 00118200
|
||||
VALUE I, X, Y; REAL X, Y; INTEGER I; 00118300
|
||||
CASE (I - 1) OF 00118400
|
||||
BEGIN 00118500
|
||||
G := 1; % 100118600
|
||||
G := X; % 200118700
|
||||
G := Y; % 300118800
|
||||
G := X*2 - Y*2; % 400118900
|
||||
G := 2.0 | X | Y; % 500119000
|
||||
G := X*3 - 3.0 | X | Y*2; % 600119100
|
||||
G := 3.0 | X*2 | Y - Y*3; % 700119200
|
||||
G := X*4 + Y*4 - 6.0 | X*2 | Y*2; % 800119300
|
||||
G := 4.0 | X*3 | Y - 4.0 | X | Y*3; % 900119400
|
||||
G := X*5 - 10.0 | X*3 | Y*2 + 5.0 | X | Y*4; %1000119500
|
||||
G := Y*5 - 10.0 | Y*3 | X*2 + 5.0 | Y | X*4; %1100119600
|
||||
G := X*6 - 15.0 | X*4 | Y*2 + 15.0 | X*2 | Y*4 - Y*6; %1200119700
|
||||
G := 6.0 | X*5 | Y + 6.0 | X | Y*5 - 20.0 | X*3 | Y*3; %1300119800
|
||||
G := X*7 - 21.0 |X*5 | Y*2 + 35.0 | X*3 | Y*4 - 7.0 | X | %1400119900
|
||||
Y*6; 00120000
|
||||
G := 7.0 |X*6 | Y - 35.0 | X*4 | Y*3 + 21.0 | X*2 | Y*5 - %1500120100
|
||||
Y*7; 00120200
|
||||
G := X*8 + Y*8 - 28.0 |X*6 | Y*2 + 70.0 | X*4 | Y*4 - 28.0 00120300
|
||||
| X*2 | Y*6; %1600120400
|
||||
G := 8.0 | X*7 |Y - 56.0 | X*5 | Y*3 + 56.0 | X*3 | Y*5 00120500
|
||||
- 8.0 |X | Y*7; %1700120600
|
||||
END G; 00120700
|
||||
00120780
|
||||
STARTT := TIME(1); 00120790
|
||||
FOR I := 0 STEP 1 UNTIL N1 DO 00120800
|
||||
BEGIN 00120900
|
||||
READ (CDS, /, X[I], Y[I], W[I]); 00121000
|
||||
BV[0,I] := EXP(X[I]) | COS(Y[I]) + LN((1 - Y[I])*2 + X[I]*2); 00121100
|
||||
FOR J := 0 STEP 1 UNTIL M1 DO 00121200
|
||||
Z[J,I] := G(J+1, X[I], Y[I]); 00121300
|
||||
END; 00121400
|
||||
CLOSE (CDS); 00121500
|
||||
ORTHO (W, BV, Z, N , N , M , P, 1, 2, 1, 2, 1, ORTHV, DEV, COF, STD, 00121600
|
||||
CV, VCV, GMDT, Q, Q2, E, EP, A, GF, ENF); 00121700
|
||||
FOR I := 0 STEP 1 UNTIL N1 DO 00121800
|
||||
BEGIN SUM := 0; 00121900
|
||||
FOR J:=0 STEP 1 UNTIL M1 DO SUM := SUM + COF[0,J]|G(J+1, X[I], Y[I]00122000
|
||||
); 00122100
|
||||
CBV[I] := SUM; 00122200
|
||||
END; 00122300
|
||||
WRITE (PR[DBL], F2); 00122400
|
||||
WRITE (PR, F1, FOR I := 0 STEP 1 UNTIL N1 DO [I,X[I],Y[I],W[I], BV[0,I],00122500
|
||||
CBV[I], (CBV[I]-BV[0,I])]); 00122600
|
||||
WRITE (PR, FT, TIME(2)/60); 00122700
|
||||
QUIT: 00122800
|
||||
BEGIN 00122900
|
||||
COMMENT INNER BLOCK; 00123000
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00123100
|
||||
PROCEDURE DMMP (NAME, ROW, SZ); 00123200
|
||||
VALUE NAME, SZ; 00123300
|
||||
ALPHA NAME, SZ; 00123400
|
||||
ARRAY ROW[0]; 00123500
|
||||
BEGIN 00123600
|
||||
REAL 00123700
|
||||
I, 00123800
|
||||
UB; 00123900
|
||||
FORMAT 00124000
|
||||
F (A6," = ",/*(6E20.11,/)); 00124100
|
||||
UB := SZ-1; 00124200
|
||||
WRITE (PR[DBL]); 00124300
|
||||
WRITE (PR[DBL]); 00124310
|
||||
WRITE (PR, F, NAME, (SZ+5)DIV 6, 00124400
|
||||
FOR I:=0 STEP 1 UNTIL UB DO ROW[I]); 00124410
|
||||
END DMMP; 00124500
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00124600
|
||||
ARRAY NR[0:99]; 00124700
|
||||
FOR I := 0 STEP 1 UNTIL 99 DO 00124800
|
||||
REPLACE POINTER(NR[I])+6 BY I FOR 2 DIGITS; 00124900
|
||||
00125000
|
||||
DMMP ("X ", X, N1+1); 00125100
|
||||
DMMP ("Y ", Y, N1+1); 00125200
|
||||
DMMP ("W ", W, N1+1); 00125300
|
||||
DMMP ("CBV ", CBV, N1+1); 00125400
|
||||
DMMP ("BV ", BV[0,*], N1+P+1); 00125500
|
||||
FOR I := 0 STEP 1 UNTIL M1 DO 00125600
|
||||
BEGIN 00125700
|
||||
SUM := "Z " & NR[I] [11:12]; 00125800
|
||||
DMMP (SUM, Z[I,*], N1+P+1); 00125900
|
||||
END; 00126000
|
||||
FOR I := 0 STEP 1 UNTIL M DO 00126100
|
||||
BEGIN 00126200
|
||||
SUM := "ORTHV " & NR[I] [11:12]; 00126300
|
||||
DMMP (SUM, ORTHV[I,*], N1+P+1); 00126400
|
||||
END; 00126500
|
||||
DMMP ("DEV ", DEV[0,*], N1+1); 00126600
|
||||
DMMP ("COF ", COF[0,*], P1+1); 00126700
|
||||
DMMP ("STD ", STD, 1); 00126800
|
||||
FOR I := 0 STEP 1 UNTIL P DO 00126900
|
||||
BEGIN 00127000
|
||||
SUM := "CV " & NR[I] [11:12]; 00127100
|
||||
DMMP (SUM, CV[I,*], P1+1); 00127200
|
||||
END; 00127300
|
||||
FOR I := 0 STEP 1 UNTIL P DO 00127400
|
||||
BEGIN 00127500
|
||||
SUM := "VCV " & NR[I] [11:12]; 00127600
|
||||
DMMP (SUM, VCV[0,I,*], P1+1); 00127700
|
||||
END; 00127800
|
||||
DMMP ("EP ", EP[0,*], M1+1); 00127900
|
||||
FOR I := 0 STEP 1 UNTIL M1 DO 00128000
|
||||
BEGIN 00128100
|
||||
SUM := "A " & NR[I] [11:12]; 00128200
|
||||
DMMP (SUM, A[I,*], P1+1); 00128300
|
||||
END; 00128400
|
||||
DMMP ("GF ", GF, M+1); 00128500
|
||||
DMMP ("Q ", Q[0,*], M+1); 00128600
|
||||
DMMP ("Q2 ", Q2[0,*], M1+1); 00128700
|
||||
DMMP ("E ", E[0,*], M1+1); 00128800
|
||||
DMMP ("ENF ", ENF, M1+1); 00128900
|
||||
END INNER BLOCK; 00129000
|
||||
WRITE (PR, </,"ELAPSED=",F8.2,", PROCESSOR=",F8.2,", I/O=",F8.2," SEC">,00129080
|
||||
(TIME(1)-STARTT)/60, TIME(2)/60, TIME(3)/60); 00129090
|
||||
END. 00129100
|
||||
?DATA CDS
|
||||
0.000, 0.110, 0.01414,
|
||||
-0.050, 0.108, 0.01427,
|
||||
-0.100, 0.115, 0.01963,
|
||||
-0.160, 0.150, 0.02300,
|
||||
-0.220, 0.205, 0.03897,
|
||||
-0.320, 0.300, 0.02792,
|
||||
-0.400, 0.358, 0.03324,
|
||||
-0.500, 0.420, 0.01483,
|
||||
-0.550, 0.436, 0.01423,
|
||||
-0.600, 0.430, 0.01505,
|
||||
-0.644, 0.400, 0.01483,
|
||||
-0.660, 0.350, 0.01420,
|
||||
-0.655, 0.300, 0.02881,
|
||||
-0.635, 0.200, 0.03043,
|
||||
-0.595, 0.100, 0.03076,
|
||||
-0.552, 0.000, 0.03311,
|
||||
-0.500, -0.105, 0.03175,
|
||||
-0.440, -0.200, 0.01809,
|
||||
-0.400, -0.250, 0.01998,
|
||||
-0.350,-0.300, 0.01882,
|
||||
-0.300, -0.344, 0.03140,
|
||||
-0.204, -0.400, 0.03450,
|
||||
-0.100, -0.436, 0.02846,
|
||||
0.000, -0.448, 0.02831,
|
||||
0.100, -0.442, 0.03860,
|
||||
0.230, -0.400, 0.02431,
|
||||
0.300, -0.350, 0.02059,
|
||||
0.353, -0.300, 0.03566,
|
||||
0.430, -0.200, 0.03122,
|
||||
0.477, -0.100, 0.02975,
|
||||
0.510, 0.000, 0.02846,
|
||||
0.522, 0.100, 0.01696,
|
||||
0.520, 0.160, 0.02330,
|
||||
0.500, 0.240, 0.02102,
|
||||
0.456, 0.300, 0.01795,
|
||||
0.400, 0.330, 0.01147,
|
||||
0.360, 0.337, 0.01762,
|
||||
0.300, 0.320, 0.01648,
|
||||
0.250, 0.290, 0.01901,
|
||||
0.300, 0.245, 0.01901,
|
||||
0.150, 0.200, 0.01809,
|
||||
0.100, 0.160, 0.01677,
|
||||
0.050, 0.128, 0.01501,
|
||||
?END
|
||||
@@ -0,0 +1,43 @@
|
||||
0.000, 0.110, 0.01414
|
||||
-0.050, 0.108, 0.01427
|
||||
-0.100, 0.115, 0.01963
|
||||
-0.160, 0.150, 0.02300,
|
||||
-0.220, 0.205, 0.03897,
|
||||
-0.320, 0.300, 0.02792,
|
||||
-0.400, 0.358, 0.03324,
|
||||
-0.500, 0.420, 0.01483,
|
||||
-0.550, 0.436, 0.01423
|
||||
-0.600, 0.430, 0.01505,
|
||||
-0.644, 0.400, 0.01483,
|
||||
-0.660, 0.350, 0.01420
|
||||
-0.655, 0.300, 0.02881,
|
||||
-0.635, 0.200, 0.03043,
|
||||
-0.595, 0.100, 0.03076,
|
||||
-0.552, 0.000, 0.03311
|
||||
-0.500, -0.105, 0.03175,
|
||||
-0.440, -0.200, 0.01809,
|
||||
-0.400, -0.250, 0.01998,
|
||||
-0.350,-0.300, 0.01882,
|
||||
-0.300, -0.344, 0.03140,
|
||||
-0.204, -0.400, 0.03450,
|
||||
-0.100, -0.436, 0.02846,
|
||||
0.000, -0.448, 0.02831,
|
||||
0.100, -0.442, 0.03860,
|
||||
0.230, -0.400, 0.02431,
|
||||
0.300, -0.350, 0.02059,
|
||||
0.353, -0.300, 0.03566,
|
||||
0.430, -0.200, 0.03122,
|
||||
0.477, -0.100, 0.02975,
|
||||
0.510, 0.000, 0.02846,
|
||||
0.522, 0.100, 0.01696
|
||||
0.520, 0.160, 0.02330,
|
||||
0.500, 0.240, 0.02102,
|
||||
0.456, 0.300, 0.01795,
|
||||
0.400, 0.330, 0.01147,
|
||||
0.360, 0.337, 0.01762,
|
||||
0.300, 0.320, 0.01648,
|
||||
0.250, 0.290, 0.01901,
|
||||
0.300, 0.245, 0.01901
|
||||
0.150, 0.200, 0.01809,
|
||||
0.100, 0.160, 0.01677,
|
||||
0.050, 0.128, 0.01501,
|
||||
@@ -0,0 +1,20 @@
|
||||
BEGIN JOB MISC/DIRICHLET; 00100100
|
||||
JOBSUMMARY = UNCONDITIONAL; 00100200
|
||||
00102000
|
||||
PRINTDEFAULTS = (PRINTDISPOSITION=EOJ, DESTINATION="PCTEXT"); 00102100
|
||||
00110000
|
||||
TASK 00110100
|
||||
T; 00110200
|
||||
00900000
|
||||
COMPILE OBJECT/MISC/DIRICHLET ALGOL [T] LIBRARY; 00900100
|
||||
ALGOL FILE SOURCE = SRCE/MISC/DIRICHLET ON DISK; 00900200
|
||||
OPTION = (FAULT, DSED, ARRAY); 00900300
|
||||
ALGOL DATA 00900400
|
||||
$ SET MERGE LIST 00900500
|
||||
? 00900600
|
||||
IF T IS COMPILEDOK THEN 00900700
|
||||
BEGIN 00900800
|
||||
RUN OBJECT/MISC/DIRICHLET; 00900900
|
||||
FILE CDS (DEPENDENTSPECS, TITLE=DATA/MISC/DIRICHLET ON DISK); 00901000
|
||||
END; 00901100
|
||||
? END JOB 00999900
|
||||
@@ -72,19 +72,19 @@ Reference-Manual/
|
||||
loadable object program onto cards or paper tape.
|
||||
|
||||
The "-Object.card" file is the card deck of object code
|
||||
generated by running the "BAC-220-Compiled-Object-Dump-
|
||||
Callout.card" program against "-Object.tape" with Program
|
||||
generated by running the "BAC-220-Object-Dump-Callout.card"
|
||||
program against "-Object.tape" with Program
|
||||
Control Switch 4 off.
|
||||
|
||||
The "-Object-WITH-LOADER.card" file is a complete load-and-go
|
||||
card deck for the program. It consists of:
|
||||
|
||||
1. The BAC-220-Compiled-Object-Program-Loader-Bootstrap.card
|
||||
deck, followed by...
|
||||
2. The BAC-220-Compiled-Object-Program-Loader.card deck,
|
||||
generated by running the "BAC-220-Compiled-Object-Dump-
|
||||
Callout.card" program against "-Object.tape" with Program
|
||||
Control Switch 4 on, followed by...
|
||||
1. The BAC-220-Object-Program-Loader-Bootstrap.card deck,
|
||||
followed by...
|
||||
2. The BAC-220-Object-Program-Loader.card deck, generated by
|
||||
running the "BAC-220-Object-Dump-Callout.card" program
|
||||
against "-Object.tape" with Program Control Switch 4 on,
|
||||
followed by...
|
||||
3. A blank card to allow the card reader format bands to be
|
||||
loaded, followed by...
|
||||
4. The card deck of object code in the "-Object.card" file
|
||||
@@ -92,16 +92,15 @@ Reference-Manual/
|
||||
5. The data for the object program.
|
||||
|
||||
The "-Object.pt" file is the paper tape image of object code
|
||||
generated by running the "BAC-220-Compiled-Object-Dump-
|
||||
Callout.card" program against "-Object.tape" with Program
|
||||
Control Switch 3 on and 4 off. This combination generates a tape
|
||||
with just the object program and no loader. To load and run the
|
||||
program:
|
||||
generated by running the "BAC-220-Object-Dump-Callout.card"
|
||||
program against "-Object.tape" with Program Control Switch 3 on
|
||||
and 4 off. This combination generates a tape with just the
|
||||
object program and no loader. To load and run the program:
|
||||
|
||||
* Mount the compiler tape on magnetic tape unit 2.
|
||||
* Set Program Control Switch 3 on and 4 off.
|
||||
* Load the BAC-220-Compiled-Object-Loader-Callout.card deck
|
||||
into card reader 1.
|
||||
* Load the BAC-220-Object-Loader-Callout.card deck into card
|
||||
reader 1.
|
||||
* Enter 1000 60 0000 into the C register.
|
||||
* Set the Execute toggle.
|
||||
* Click START on the Control Console. Once the program
|
||||
@@ -116,8 +115,8 @@ Reference-Manual/
|
||||
run.
|
||||
|
||||
The "-Object-WITH-LOADER.pt" file is the paper tape image of
|
||||
object code generated by running the "BAC-220-Compiled-Object-
|
||||
Dump-Callout.card" program against "-Object.tape" with Program
|
||||
object code generated by running the "BAC-220-Object-Dump-
|
||||
Callout.card" program against "-Object.tape" with Program
|
||||
Control Switches 3 and 4 on. This combination causes the Object
|
||||
Program Loader code to be included on the tape. To load and run
|
||||
the program:
|
||||
@@ -245,3 +244,4 @@ February 2018
|
||||
Complete Reference-Manual example programs and update results.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
5 .1 .2 .3 .4 .5 .6 .7 .8 .9 .10 .11 .12 .13 .14 .15 *
|
||||
5 .16 .17 .18 .19 .20 .21 .22 .23 .24 .25 .26 .27 .28 .29 *
|
||||
5 10 * NUMBER OF DIMENSIONS, MUST BE LEQ 25
|
||||
@@ -1,4 +1,4 @@
|
||||
777 BALGOL COMPILED PROGRAM LOADER BOOTSTRAP, LOAD FROM CR1
|
||||
777 BALGOL COMPILED PROGRAM LOADER BOOTSTRAP, LOAD FROM CR1, FOLLOW WITH LOADER
|
||||
666 61000600294
|
||||
666 600003002900000042029411010600004000052102910000030000000000000250
|
||||
777 BALGOL OBJECT PROGRAM LOADER DECK, FOLLOW WITH OBJECT DECK
|
||||
@@ -53,7 +53,7 @@
|
||||
6 0048 0200463023102006630202020086301730100065001500000300016
|
||||
6 0049 0000031000802000650008000003000040200065001000000300013
|
||||
6 0050 0100064000200000300000010016201150100862014405401260080
|
||||
6 (BLANK CARD - MUST BE PRESENT AFTER OBJECT LOADER)
|
||||
6 (BLANK CARD - MUST BE PRESENT BEFORE OBJECT DECK)
|
||||
1 0000 0000000000040950290200000003002210000030040000000102960
|
||||
1 0001 0000040295900000440218000003002090000010296000000122959
|
||||
1 0002 0000040295900000132958011113102120000036021400001330214
|
||||
|
||||
Reference in New Issue
Block a user