mirror of
https://github.com/pkimpel/retro-220.git
synced 2026-04-10 22:51:52 +00:00
1. Commit proofing corrections to BALGOL-Main transcription.
2. Commit initial sample BALGOL programs from BAC-220 manual. 3. Modify BAC-Assembler to allow independent selection of listings from pass 1 and pass 2.
This commit is contained in:
@@ -0,0 +1,216 @@
|
||||
?COMPILE EXAMPLE/BALGOL1 ALGOL GO 00000100170222PK
|
||||
?DATA CARD 00000200
|
||||
$CARD LIST SINGLE 00000300
|
||||
BEGIN 00001000
|
||||
COMMENT 00001100
|
||||
BAC-EXAMPLE-1 CONVERTED FROM BALGOL TO BURROUGHS B5500 EXTENDED ALGOL.00001200
|
||||
2017-02-13 P.KIMPEL 00001300
|
||||
; 00001400
|
||||
00010000
|
||||
FILE IN INPUT (1,10); 00010100
|
||||
FILE OUT OUTPUT 17 (2,15); 00010200
|
||||
00011000170222PK
|
||||
DEFINE 00011100170222PK
|
||||
DEGREE1 = 0.017453293 #, % PI/180 = 1 DEGREE 00011200170222PK
|
||||
DEGREE2 = 0.034906585 #, % PI/90 = 2 DEGREES 00011300170222PK
|
||||
DEGREE5 = 0.087266463 #, % PI/36 = 5 DEGREES 00011400170222PK
|
||||
DEGREE34 = 0.59341195 #, % 34PI/180 = 34 DEGREES 00011500170222PK
|
||||
DEGREE45 = 0.78539816 #; % PI/4 = 45 DEGREES 00011600170222PK
|
||||
00020000
|
||||
REAL 00050000
|
||||
AVT, 00050100
|
||||
CONST, 00050200
|
||||
SUM; 00050300
|
||||
LABEL 00080000
|
||||
FINISH, 00080100
|
||||
RDIM, 00080200
|
||||
START; 00080300
|
||||
00200000
|
||||
COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963. 00200100170222PK
|
||||
J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING 00200200
|
||||
PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES, 00200300
|
||||
USING ORTHONORMAL FUNCTIONS; 00200400
|
||||
00200500
|
||||
COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS 00200600
|
||||
AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A 00200700
|
||||
HARMONIC BOUNDARY-VALUE PROBLEM; 00200800
|
||||
00200900
|
||||
COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS; 00201000
|
||||
00201100
|
||||
INTEGER I, J, K, L, M, N, NU, TH; 00201200
|
||||
ARRAY R[1:29], HFN[1:29], DSUM[1:24], HFCN[1:5], HFCEN[1:6], 00201300
|
||||
FA[1:25,1:25], A[1:25,1:25], B[1:25,1:25], HA[1:47], HAA[1:24]; 00201400
|
||||
LIST DATA (FOR I~1 STEP 1 UNTIL 29 DO R[I]), DIMEN(N); 00201500
|
||||
LIST FRESULTS (FOR I~1 STEP 1 UNTIL N DO 00201600
|
||||
FOR J~1 STEP 1 UNTIL N DO FA[I,J]), 00201700
|
||||
ARESULTS (FOR I~1 STEP 1 UNTIL N DO 00201800
|
||||
FOR J~1 STEP 1 UNTIL N DO A[I,J]), 00201900
|
||||
BRESULTS (FOR I~1 STEP 1 UNTIL N DO 00202000
|
||||
FOR J~1 STEP 1 UNTIL N DO B[I,J]), 00202100
|
||||
COEFFS (FOR NU~4 STEP 4 UNTIL N-1 DO HA[2|NU-1]), 00202200
|
||||
HFNRES (FOR K~1 STEP 1 UNTIL 29 DO HFN[K]), 00202300
|
||||
CRES(CONST), HFCNRES (TH, FOR K~1 STEP 1 UNTIL 5 DO HFCN[K]), 00202400
|
||||
HFCENRES(TH, FOR K~1 STEP 1 UNTIL 6 DO HFCEN[K]); 00202500
|
||||
FORMAT VECTOR (X8,6F16.8), 00202600170222PK
|
||||
FTITLE (/,X48,"FRESULTS,FA[I,J]"), 00202700
|
||||
BTITLE (/,X48,"BRESULTS,B[I,J]"), 00202800170222PK
|
||||
ATITLE (/,X48,"ARESULTS,A[I,J]"), 00202900
|
||||
COEFTITLE (/,X30,"HA[8NU-1]"), 00203000
|
||||
BDYVALUES (/,X42,"PRELIMINARY BOUNDARY VALUES"), 00203100
|
||||
CBDYVALUES (/,X43,"CORRECTED BOUNDARY VALUES"), 00203200
|
||||
CONTITLE (/,X50,"CONSTANT"), 00203300
|
||||
TABLE (X8,I2,X6,6F16.8), 00203400
|
||||
TABLEHEAD (/,X40, "THE VALUES OF H(RHO,TH) IN B"), 00203500
|
||||
TABLELINE (X13,"RHO",X6,"0.5",X13,"1.0",X13,"1.5",X13, 00203600
|
||||
"2.0",X13,"2.5",X13,"3.0"), 00203700
|
||||
TABLETH (X8,"TH"); 00203800
|
||||
START: 00800100
|
||||
READ (INPUT, /, DATA); 00800200
|
||||
WRITE (OUTPUT, <"INPUT DATA:",/,6(5F16.4,/)>, DATA); 00800250
|
||||
RDIM: 00800300
|
||||
READ (INPUT, /, DIMEN) [FINISH]; 00800400
|
||||
WRITE (OUTPUT, <"NUMBER OF DIMENSIONS:",I3>, DIMEN); 00800450
|
||||
FOR I~1 STEP 1 UNTIL N DO 00800500
|
||||
FOR J~I STEP 4 UNTIL N DO 00800600170222PK
|
||||
BEGIN 00800700
|
||||
L ~ I-J; K ~ I+J; 00800800
|
||||
SUM ~ R[1]*K + 1.5|R[18]*K|COS(DEGREE34|L) 00800900170222PK
|
||||
+ 0.5|R[29]*K|COS(DEGREE45|L); 00801000170222PK
|
||||
FOR M~2 STEP 1 UNTIL 17 DO 00801100
|
||||
SUM ~ SUM + 2.0|R[M]*K|COS((M-1)|DEGREE2|L); 00801200170222PK
|
||||
FOR M~19 STEP 1 UNTIL 28 DO 00801300
|
||||
SUM ~ SUM + R[M]*K|COS((DEGREE34 + (M-18)|DEGREE1)|L); 00801400170222PK
|
||||
FA[I,J] ~ (8.0/K)|DEGREE1|SUM 00801500170222PK
|
||||
END; 00801600
|
||||
WRITE (OUTPUT[DBL]); 00801700170222PK
|
||||
WRITE (OUTPUT, FTITLE); 00801800
|
||||
WRITE (OUTPUT, VECTOR, FRESULTS); 00801900
|
||||
FOR J~1 STEP 1 UNTIL N DO 00802000
|
||||
B[1,J] ~ FA[1,J]; 00802100170222PK
|
||||
FOR I~2 STEP 1 UNTIL N DO 00802200
|
||||
BEGIN 00802300
|
||||
FOR J~1 STEP 1 UNTIL I-1 DO 00802400
|
||||
B[I,J] ~ -B[J,I]/B[J,J]; 00802500
|
||||
FOR J~I STEP 1 UNTIL N DO 00802600
|
||||
BEGIN 00802700
|
||||
B[I,J] ~ FA[I,J]; 00802800
|
||||
FOR K~1 STEP 1 UNTIL I-1 DO 00802900
|
||||
B[I,J] ~ B[I,J] + B[I,K]|B[K,J] 00803000
|
||||
END; 00803100
|
||||
FOR J~1 STEP 1 UNTIL I-1 DO 00803200
|
||||
B[I,J] ~ B[I,J]|SQRT(B[J,J]/B[I,I]) 00803300
|
||||
END; 00803400
|
||||
FOR I~1 STEP 1 UNTIL N DO 00803500
|
||||
B[I,I] ~ 1.0/(SQRT(B[I,I])|I); 00803600
|
||||
WRITE (OUTPUT, BTITLE); 00803700
|
||||
WRITE (OUTPUT, VECTOR, BRESULTS); 00803800
|
||||
FOR I~1 STEP 1 UNTIL N DO 00803900
|
||||
FOR J~1 STEP 1 UNTIL N DO 00804000
|
||||
A[I,J] ~ 0; 00804100
|
||||
A[1,1] ~ B[1,1]; 00804200
|
||||
FOR I~2 STEP 1 UNTIL N DO 00804300
|
||||
BEGIN 00804400
|
||||
FOR J~1 STEP 1 UNTIL I-1 DO 00804500
|
||||
BEGIN 00804600
|
||||
A[I,J] ~ 0; 00804700
|
||||
FOR K~J STEP 1 UNTIL I-1 DO 00804800
|
||||
A[I,J] ~ A[I,J] + B[I,K]|A[K,J] 00804900
|
||||
END; 00805000
|
||||
A[I,I] ~ B[I,I] 00805100
|
||||
END; 00805200
|
||||
WRITE (OUTPUT[DBL]); 00805300170222PK
|
||||
WRITE (OUTPUT, ATITLE); 00805400
|
||||
WRITE (OUTPUT, VECTOR, ARESULTS); 00805500
|
||||
00805600
|
||||
COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION; 00805700
|
||||
00805800
|
||||
FOR J~4 STEP 4 UNTIL N-1 DO 00805900
|
||||
BEGIN 00806000
|
||||
DSUM[J] ~ 0; 00806100
|
||||
FOR M~1 STEP 1 UNTIL 17 DO 00806200
|
||||
DSUM[J] ~ DSUM[J] + (R[M]*2 + R[M+1]*2)| 00806300
|
||||
(R[M+1]*J|SIN(M|DEGREE2|J) 00806400170222PK
|
||||
- R[M]*J|SIN((M-1)|DEGREE2|J)); 00806500170222PK
|
||||
FOR M~18 STEP 1 UNTIL 28 DO 00806600
|
||||
DSUM[J] ~ DSUM[J] + (R[M]*2 + R[M+1]*2|(R[M+1]*J| 00806700
|
||||
SIN((DEGREE34 + (M-17)|DEGREE1)|J) 00806800170222PK
|
||||
- R[M]*J|SIN((DEGREE34 00806900170222PK
|
||||
+ (M-18)|DEGREE1)|J))) 00807000170222PK
|
||||
END; 00807100
|
||||
FOR NU~4 STEP 4 UNTIL N-1 DO 00807200
|
||||
BEGIN 00807300
|
||||
HA[2|NU-1] ~ 0; 00807400
|
||||
FOR J~4 STEP 4 UNTIL NU DO 00807500
|
||||
HA[2|NU-1] ~ HA[2|NU-1] + A[NU,J]|DSUM[J]; 00807600
|
||||
HA[2|NU-1] ~ 4.0|HA[2|NU-1] 00807700
|
||||
END; 00807800
|
||||
WRITE (OUTPUT, COEFTITLE); 00807900
|
||||
WRITE (OUTPUT, VECTOR, COEFFS); 00808000
|
||||
FOR J~4 STEP 4 UNTIL N-1 DO 00808100
|
||||
BEGIN 00808200
|
||||
HAA[J] ~ 0; 00808300
|
||||
FOR NU~J STEP 4 UNTIL N-1 DO 00808400
|
||||
HAA[J] ~ HAA[J] + HA[2|NU-1]|A[NU,J] 00808500
|
||||
END; 00808600
|
||||
FOR M~1 STEP 1 UNTIL 18 DO 00808700
|
||||
BEGIN 00808800
|
||||
HFN[M] ~ 0; 00808900
|
||||
FOR J~4 STEP 4 UNTIL N-1 DO 00809000
|
||||
HFN[M] ~ HFN[M] + HAA[J]|R[M]*J|COS((M-1)|DEGREE2|J) 00809100170222PK
|
||||
END; 00809200
|
||||
FOR M~19 STEP 1 UNTIL 29 DO 00809300
|
||||
BEGIN 00809400
|
||||
HFN[M] ~ 0; 00809500
|
||||
FOR J~4 STEP 4 UNTIL N-1 DO 00809600
|
||||
HFN[M] ~ HFN[M] + HAA[J]|R[M]*J| 00809700
|
||||
COS((DEGREE34 + (M-18)|DEGREE1)|J) 00809800170222PK
|
||||
END; 00809900
|
||||
WRITE (OUTPUT[DBL]); 00810000170222PK
|
||||
WRITE (OUTPUT, BDYVALUES); 00810100
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00810200
|
||||
AVT ~ 0; 00810300
|
||||
FOR M~1 STEP 1 UNTIL 29 DO 00810400
|
||||
AVT ~ AVT + R[M]*2 - HFN[M]; 00810500
|
||||
CONST ~ AVT/29.0; 00810600
|
||||
WRITE (OUTPUT, CONTITLE); 00810700
|
||||
WRITE (OUTPUT, VECTOR, CRES); 00810800
|
||||
FOR M~1 STEP 1 UNTIL 29 DO 00810900
|
||||
HFN[M] ~ CONST + HFN[M]; 00811000
|
||||
WRITE (OUTPUT, CBDYVALUES); 00811100
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00811200
|
||||
FOR I~1 STEP 1 UNTIL 5 DO 00811300
|
||||
BEGIN 00811400
|
||||
TH ~ 5|(I-1); 00811500
|
||||
FOR J~1 STEP 1 UNTIL 5 DO 00811600
|
||||
BEGIN 00811700
|
||||
HFCN[J] ~ CONST; 00811800
|
||||
FOR M~4 STEP 4 UNTIL N-1 DO 00811900
|
||||
HFCN[J] ~ HFCN[J] + HAA[M]|(0.5|J)*M|COS((I-1)|DEGREE5|M) 00812000170222PK
|
||||
END; 00812100
|
||||
WRITE (OUTPUT[DBL]); 00812200170222PK
|
||||
WRITE (OUTPUT, TABLEHEAD); 00812300
|
||||
WRITE (OUTPUT, TABLELINE); 00812400
|
||||
WRITE (OUTPUT, TABLETH); 00812500
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00812600
|
||||
END; 00812700
|
||||
FOR I~6 STEP 1 UNTIL 10 DO 00812800
|
||||
BEGIN 00812900
|
||||
TH ~ 5|(I-1); 00813000
|
||||
FOR J~1 STEP 1 UNTIL 6 DO 00813100
|
||||
BEGIN 00813200
|
||||
HFCEN[J] ~ CONST; 00813300
|
||||
FOR M~4 STEP 4 UNTIL N-1 DO 00813400
|
||||
HFCEN[J] ~ HFCEN[J] + HAA[M]|(0.5|J)*M| 00813500170222PK
|
||||
COS((I-1)|DEGREE5|M) 00813550170222PK
|
||||
END; 00813600
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00813700
|
||||
END; 00813800
|
||||
GO TO RDIM; 00813900
|
||||
00899000
|
||||
FINISH: 00899100
|
||||
END. 00899800
|
||||
?DATA INPUT 00900000
|
||||
.1, .2, .3, .4, .5, .6, .7, .8, .9, .10, .11, .12, .13, .14, .15, / 00900100
|
||||
.16, .17, .18, .19, .20, .21, .22, .23, .24, .25, .26, .27, .28, .29, / 00900200
|
||||
10, / NUMBER OF DIMENSIONS <= 25 00900300
|
||||
?END 00999900
|
||||
397
software/BALGOL/BALGOL-Examples/B5500-EMODE/Example-1-B5500.lst
Normal file
397
software/BALGOL/BALGOL-Examples/B5500-EMODE/Example-1-B5500.lst
Normal file
@@ -0,0 +1,397 @@
|
||||
LABEL 000000000LINE 00187053?COMPILE EXAMPLE/BALGOL1 ALGOL GO ALGOL /EXAMPLE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BURROUGHS B-5700 ALGOL COMPILER MARK XIII.0 SUNDAY, 02/22/87, 9:56 AM.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BEGIN 00001000 0000
|
||||
START OF SEGMENT ********** 2
|
||||
COMMENT 00001100 0000
|
||||
BAC-EXAMPLE-1 CONVERTED FROM BALGOL TO BURROUGHS B5500 EXTENDED ALGOL. 00001200 0000
|
||||
2017-02-13 P.KIMPEL 00001300 0000
|
||||
; 00001400 0000
|
||||
00010000 0000
|
||||
FILE IN INPUT (1,10); 00010100 0000
|
||||
FILE OUT OUTPUT 17 (2,15); 00010200 0003
|
||||
00011000 0007
|
||||
DEFINE 00011100 0007
|
||||
DEGREE1 = 0.017453293 #, % PI/180 = 1 DEGREE 00011200 0007
|
||||
DEGREE2 = 0.034906585 #, % PI/90 = 2 DEGREES 00011300 0007
|
||||
DEGREE5 = 0.087266463 #, % PI/36 = 5 DEGREES 00011400 0007
|
||||
DEGREE34 = 0.59341195 #, % 34PI/180 = 34 DEGREES 00011500 0007
|
||||
DEGREE45 = 0.78539816 #; % PI/4 = 45 DEGREES 00011600 0007
|
||||
00020000 0007
|
||||
REAL 00050000 0007
|
||||
AVT, 00050100 0007
|
||||
CONST, 00050200 0007
|
||||
SUM; 00050300 0007
|
||||
LABEL 00080000 0007
|
||||
FINISH, 00080100 0007
|
||||
RDIM, 00080200 0007
|
||||
START; 00080300 0007
|
||||
00200000 0007
|
||||
COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963. 00200100 0007
|
||||
J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING 00200200 0007
|
||||
PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES, 00200300 0007
|
||||
USING ORTHONORMAL FUNCTIONS; 00200400 0007
|
||||
00200500 0007
|
||||
COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS 00200600 0007
|
||||
AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A 00200700 0007
|
||||
HARMONIC BOUNDARY-VALUE PROBLEM; 00200800 0007
|
||||
00200900 0007
|
||||
COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS; 00201000 0007
|
||||
00201100 0007
|
||||
INTEGER I, J, K, L, M, N, NU, TH; 00201200 0007
|
||||
ARRAY R[1:29], HFN[1:29], DSUM[1:24], HFCN[1:5], HFCEN[1:6], 00201300 0007
|
||||
FA[1:25,1:25], A[1:25,1:25], B[1:25,1:25], HA[1:47], HAA[1:24]; 00201400 0016
|
||||
LIST DATA (FOR I←1 STEP 1 UNTIL 29 DO R[I]), DIMEN(N); 00201500 0025
|
||||
LIST FRESULTS (FOR I←1 STEP 1 UNTIL N DO 00201600 0040
|
||||
FOR J←1 STEP 1 UNTIL N DO FA[I,J]), 00201700 0043
|
||||
ARESULTS (FOR I←1 STEP 1 UNTIL N DO 00201800 0054
|
||||
FOR J←1 STEP 1 UNTIL N DO A[I,J]), 00201900 0057
|
||||
BRESULTS (FOR I←1 STEP 1 UNTIL N DO 00202000 0068
|
||||
FOR J←1 STEP 1 UNTIL N DO B[I,J]), 00202100 0071
|
||||
COEFFS (FOR NU←4 STEP 4 UNTIL N-1 DO HA[2×NU-1]), 00202200 0082
|
||||
HFNRES (FOR K←1 STEP 1 UNTIL 29 DO HFN[K]), 00202300 0094
|
||||
CRES(CONST), HFCNRES (TH, FOR K←1 STEP 1 UNTIL 5 DO HFCN[K]), 00202400 0104
|
||||
HFCENRES(TH, FOR K←1 STEP 1 UNTIL 6 DO HFCEN[K]); 00202500 0120
|
||||
FORMAT VECTOR (X8,6F16.8), 00202600 0131
|
||||
START OF SEGMENT ********** 3
|
||||
FTITLE (/,X48,"FRESULTS,FA[I,J]"), 00202700 0131
|
||||
BTITLE (/,X48,"BRESULTS,B[I,J]"), 00202800 0131
|
||||
ATITLE (/,X48,"ARESULTS,A[I,J]"), 00202900 0131
|
||||
COEFTITLE (/,X30,"HA[8NU-1]"), 00203000 0131
|
||||
BDYVALUES (/,X42,"PRELIMINARY BOUNDARY VALUES"), 00203100 0131
|
||||
CBDYVALUES (/,X43,"CORRECTED BOUNDARY VALUES"), 00203200 0131
|
||||
CONTITLE (/,X50,"CONSTANT"), 00203300 0131
|
||||
TABLE (X8,I2,X6,6F16.8), 00203400 0131
|
||||
TABLEHEAD (/,X40, "THE VALUES OF H(RHO,TH) IN B"), 00203500 0131
|
||||
TABLELINE (X13,"RHO",X6,"0.5",X13,"1.0",X13,"1.5",X13, 00203600 0131
|
||||
"2.0",X13,"2.5",X13,"3.0"), 00203700 0131
|
||||
TABLETH (X8,"TH"); 00203800 0131
|
||||
3 IS 102 LONG, NEXT SEG 2
|
||||
START: 00800100 0131
|
||||
READ (INPUT, /, DATA); 00800200 0132
|
||||
WRITE (OUTPUT, <"INPUT DATA:",/,6(5F16.4,/)>, DATA); 00800250 0135
|
||||
4 IS 10 LONG, NEXT SEG 2
|
||||
RDIM: 00800300 0138
|
||||
READ (INPUT, /, DIMEN) [FINISH]; 00800400 0139
|
||||
WRITE (OUTPUT, <"NUMBER OF DIMENSIONS:",I3>, DIMEN); 00800450 0143
|
||||
5 IS 8 LONG, NEXT SEG 2
|
||||
FOR I←1 STEP 1 UNTIL N DO 00800500 0146
|
||||
FOR J←I STEP 4 UNTIL N DO 00800600 0148
|
||||
BEGIN 00800700 0149
|
||||
L ← I-J; K ← I+J; 00800800 0149
|
||||
SUM ← R[1]*K + 1.5×R[18]*K×COS(DEGREE34×L) 00800900 0151
|
||||
+ 0.5×R[29]*K×COS(DEGREE45×L); 00801000 0158
|
||||
FOR M←2 STEP 1 UNTIL 17 DO 00801100 0165
|
||||
SUM ← SUM + 2.0×R[M]*K×COS((M-1)×DEGREE2×L); 00801200 0171
|
||||
FOR M←19 STEP 1 UNTIL 28 DO 00801300 0180
|
||||
SUM ← SUM + R[M]*K×COS((DEGREE34 + (M-18)×DEGREE1)×L); 00801400 0183
|
||||
FA[I,J] ← (8.0/K)×DEGREE1×SUM 00801500 0192
|
||||
END; 00801600 0195
|
||||
WRITE (OUTPUT[DBL]); 00801700 0201
|
||||
WRITE (OUTPUT, FTITLE); 00801800 0205
|
||||
WRITE (OUTPUT, VECTOR, FRESULTS); 00801900 0208
|
||||
FOR J←1 STEP 1 UNTIL N DO 00802000 0211
|
||||
B[1,J] ← FA[1,J]; 00802100 0216
|
||||
FOR I←2 STEP 1 UNTIL N DO 00802200 0223
|
||||
BEGIN 00802300 0224
|
||||
FOR J←1 STEP 1 UNTIL I-1 DO 00802400 0224
|
||||
B[I,J] ← -B[J,I]/B[J,J]; 00802500 0228
|
||||
FOR J←I STEP 1 UNTIL N DO 00802600 0236
|
||||
BEGIN 00802700 0238
|
||||
B[I,J] ← FA[I,J]; 00802800 0238
|
||||
FOR K←1 STEP 1 UNTIL I-1 DO 00802900 0243
|
||||
B[I,J] ← B[I,J] + B[I,K]×B[K,J] 00803000 0247
|
||||
END; 00803100 0256
|
||||
FOR J←1 STEP 1 UNTIL I-1 DO 00803200 0260
|
||||
B[I,J] ← B[I,J]×SQRT(B[J,J]/B[I,I]) 00803300 0264
|
||||
END; 00803400 0273
|
||||
FOR I←1 STEP 1 UNTIL N DO 00803500 0278
|
||||
B[I,I] ← 1.0/(SQRT(B[I,I])×I); 00803600 0279
|
||||
WRITE (OUTPUT, BTITLE); 00803700 0287
|
||||
WRITE (OUTPUT, VECTOR, BRESULTS); 00803800 0290
|
||||
FOR I←1 STEP 1 UNTIL N DO 00803900 0294
|
||||
FOR J←1 STEP 1 UNTIL N DO 00804000 0296
|
||||
A[I,J] ← 0; 00804100 0297
|
||||
A[1,1] ← B[1,1]; 00804200 0304
|
||||
FOR I←2 STEP 1 UNTIL N DO 00804300 0309
|
||||
BEGIN 00804400 0311
|
||||
FOR J←1 STEP 1 UNTIL I-1 DO 00804500 0311
|
||||
BEGIN 00804600 0315
|
||||
A[I,J] ← 0; 00804700 0315
|
||||
FOR K←J STEP 1 UNTIL I-1 DO 00804800 0318
|
||||
A[I,J] ← A[I,J] + B[I,K]×A[K,J] 00804900 0323
|
||||
END; 00805000 0331
|
||||
A[I,I] ← B[I,I] 00805100 0334
|
||||
END; 00805200 0338
|
||||
WRITE (OUTPUT[DBL]); 00805300 0341
|
||||
WRITE (OUTPUT, ATITLE); 00805400 0345
|
||||
WRITE (OUTPUT, VECTOR, ARESULTS); 00805500 0348
|
||||
00805600 0351
|
||||
COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION; 00805700 0351
|
||||
00805800 0351
|
||||
FOR J←4 STEP 4 UNTIL N-1 DO 00805900 0351
|
||||
BEGIN 00806000 0356
|
||||
DSUM[J] ← 0; 00806100 0356
|
||||
FOR M←1 STEP 1 UNTIL 17 DO 00806200 0357
|
||||
DSUM[J] ← DSUM[J] + (R[M]*2 + R[M+1]*2)× 00806300 0359
|
||||
(R[M+1]*J×SIN(M×DEGREE2×J) 00806400 0364
|
||||
- R[M]*J×SIN((M-1)×DEGREE2×J)); 00806500 0369
|
||||
FOR M←18 STEP 1 UNTIL 28 DO 00806600 0379
|
||||
DSUM[J] ← DSUM[J] + (R[M]*2 + R[M+1]*2×(R[M+1]*J× 00806700 0381
|
||||
SIN((DEGREE34 + (M-17)×DEGREE1)×J) 00806800 0390
|
||||
- R[M]*J×SIN((DEGREE34 00806900 0392
|
||||
+ (M-18)×DEGREE1)×J))) 00807000 0396
|
||||
END; 00807100 0399
|
||||
FOR NU←4 STEP 4 UNTIL N-1 DO 00807200 0406
|
||||
BEGIN 00807300 0410
|
||||
HA[2×NU-1] ← 0; 00807400 0410
|
||||
FOR J←4 STEP 4 UNTIL NU DO 00807500 0413
|
||||
HA[2×NU-1] ← HA[2×NU-1] + A[NU,J]×DSUM[J]; 00807600 0414
|
||||
HA[2×NU-1] ← 4.0×HA[2×NU-1] 00807700 0424
|
||||
END; 00807800 0428
|
||||
WRITE (OUTPUT, COEFTITLE); 00807900 0431
|
||||
WRITE (OUTPUT, VECTOR, COEFFS); 00808000 0434
|
||||
FOR J←4 STEP 4 UNTIL N-1 DO 00808100 0437
|
||||
BEGIN 00808200 0441
|
||||
HAA[J] ← 0; 00808300 0441
|
||||
FOR NU←J STEP 4 UNTIL N-1 DO 00808400 0443
|
||||
HAA[J] ← HAA[J] + HA[2×NU-1]×A[NU,J] 00808500 0448
|
||||
END; 00808600 0454
|
||||
FOR M←1 STEP 1 UNTIL 18 DO 00808700 0456
|
||||
BEGIN 00808800 0457
|
||||
HFN[M] ← 0; 00808900 0457
|
||||
FOR J←4 STEP 4 UNTIL N-1 DO 00809000 0458
|
||||
HFN[M] ← HFN[M] + HAA[J]×R[M]*J×COS((M-1)×DEGREE2×J) 00809100 0463
|
||||
END; 00809200 0471
|
||||
FOR M←19 STEP 1 UNTIL 29 DO 00809300 0477
|
||||
BEGIN 00809400 0478
|
||||
HFN[M] ← 0; 00809500 0478
|
||||
FOR J←4 STEP 4 UNTIL N-1 DO 00809600 0479
|
||||
HFN[M] ← HFN[M] + HAA[J]×R[M]*J× 00809700 0484
|
||||
COS((DEGREE34 + (M-18)×DEGREE1)×J) 00809800 0490
|
||||
END; 00809900 0492
|
||||
WRITE (OUTPUT[DBL]); 00810000 0499
|
||||
WRITE (OUTPUT, BDYVALUES); 00810100 0503
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00810200 0506
|
||||
AVT ← 0; 00810300 0509
|
||||
FOR M←1 STEP 1 UNTIL 29 DO 00810400 0510
|
||||
AVT ← AVT + R[M]*2 - HFN[M]; 00810500 0511
|
||||
CONST ← AVT/29.0; 00810600 0517
|
||||
WRITE (OUTPUT, CONTITLE); 00810700 0518
|
||||
WRITE (OUTPUT, VECTOR, CRES); 00810800 0521
|
||||
FOR M←1 STEP 1 UNTIL 29 DO 00810900 0524
|
||||
HFN[M] ← CONST + HFN[M]; 00811000 0527
|
||||
WRITE (OUTPUT, CBDYVALUES); 00811100 0532
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00811200 0535
|
||||
FOR I←1 STEP 1 UNTIL 5 DO 00811300 0538
|
||||
BEGIN 00811400 0540
|
||||
TH ← 5×(I-1); 00811500 0540
|
||||
FOR J←1 STEP 1 UNTIL 5 DO 00811600 0541
|
||||
BEGIN 00811700 0543
|
||||
HFCN[J] ← CONST; 00811800 0543
|
||||
FOR M←4 STEP 4 UNTIL N-1 DO 00811900 0544
|
||||
HFCN[J] ← HFCN[J] + HAA[M]×(0.5×J)*M×COS((I-1)×DEGREE5×M) 00812000 0549
|
||||
END; 00812100 0556
|
||||
WRITE (OUTPUT[DBL]); 00812200 0563
|
||||
WRITE (OUTPUT, TABLEHEAD); 00812300 0567
|
||||
WRITE (OUTPUT, TABLELINE); 00812400 0570
|
||||
WRITE (OUTPUT, TABLETH); 00812500 0573
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00812600 0576
|
||||
END; 00812700 0579
|
||||
FOR I←6 STEP 1 UNTIL 10 DO 00812800 0581
|
||||
BEGIN 00812900 0583
|
||||
TH ← 5×(I-1); 00813000 0583
|
||||
FOR J←1 STEP 1 UNTIL 6 DO 00813100 0584
|
||||
BEGIN 00813200 0586
|
||||
HFCEN[J] ← CONST; 00813300 0586
|
||||
FOR M←4 STEP 4 UNTIL N-1 DO 00813400 0587
|
||||
HFCEN[J] ← HFCEN[J] + HAA[M]×(0.5×J)*M× 00813500 0592
|
||||
COS((I-1)×DEGREE5×M) 00813550 0598
|
||||
END; 00813600 0599
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00813700 0606
|
||||
END; 00813800 0609
|
||||
GO TO RDIM; 00813900 0611
|
||||
00899000 0612
|
||||
FINISH: 00899100 0612
|
||||
END. 00899800 0613
|
||||
2 IS 616 LONG, NEXT SEG 1
|
||||
PRT(101) = COS INTRINSIC, SEGMENT NUMBER = 6.
|
||||
PRT(77) = EXP INTRINSIC, SEGMENT NUMBER = 7.
|
||||
PRT(76) = LN INTRINSIC, SEGMENT NUMBER = 8.
|
||||
PRT(103) = SIN INTRINSIC, SEGMENT NUMBER = 9.
|
||||
PRT(102) = SQRT INTRINSIC, SEGMENT NUMBER = 10.
|
||||
PRT(72) = OUTPUT(W) INTRINSIC, SEGMENT NUMBER = 11.
|
||||
PRT(5) = BLOCK CONTROL INTRINSIC, SEGMENT NUMBER = 12.
|
||||
PRT(70) = INPUT(W) INTRINSIC, SEGMENT NUMBER = 13.
|
||||
PRT(100) = X TO THE I INTRINSIC, SEGMENT NUMBER = 14.
|
||||
PRT(74) = GO TO SOLVER INTRINSIC, SEGMENT NUMBER = 15.
|
||||
PRT(14) = ALGOL WRITE INTRINSIC, SEGMENT NUMBER = 16.
|
||||
PRT(15) = ALGOL READ INTRINSIC, SEGMENT NUMBER = 17.
|
||||
PRT(16) = ALGOL SELECT INTRINSIC, SEGMENT NUMBER = 18.
|
||||
1 IS 2 LONG, NEXT SEG 0
|
||||
19 IS 69 LONG, NEXT SEG 0
|
||||
NUMBER OF ERRORS DETECTED = 0. COMPILATION TIME = 14 SECONDS.
|
||||
|
||||
PRT SIZE = 68; TOTAL SEGMENT SIZE = 807 WORDS; DISK SIZE = 37 SEGS; NO. PGM. SEGS = 19
|
||||
|
||||
ESTIMATED CORE STORAGE REQUIRED = 6526 WORDS.
|
||||
|
||||
ESTIMATED AUXILIARY MEMORY REQUIRED = 0 WORDS.
|
||||
|
||||
|
||||
|
||||
|
||||
LABEL 000000000LINE 00187053?COMPILE EXAMPLE/BALGOL1 ALGOL GO ALGOL /EXAMPLE
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
LABEL 000000000OUTPUT 00187053?COMPILE EXAMPLE/BALGOL1 ALGOL GO EXAMPLE/BALGOL1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
INPUT DATA:
|
||||
0.1000 0.2000 0.3000 0.4000 0.5000
|
||||
0.6000 0.7000 0.8000 0.9000 0.1000
|
||||
0.1100 0.1200 0.1300 0.1400 0.1500
|
||||
0.1600 0.1700 0.1800 0.1900 0.2000
|
||||
0.2100 0.2200 0.2300 0.2400 0.2500
|
||||
0.2600 0.2700 0.2800 0.2900
|
||||
NUMBER OF DIMENSIONS: 10
|
||||
|
||||
|
||||
|
||||
FRESULTS,FA[I,J]
|
||||
0.46363975 0.00000000 0.00000000 0.00000000 0.02376409 0.00000000
|
||||
0.00000000 0.00000000 -0.00715683 0.00000000 0.00000000 0.10859772
|
||||
0.00000000 0.00000000 0.00000000 0.01179355 0.00000000 0.00000000
|
||||
0.00000000 -0.00466756 0.00000000 0.00000000 0.04559661 0.00000000
|
||||
0.00000000 0.00000000 0.00662809 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.02364557 0.00000000 0.00000000
|
||||
0.00000000 0.00403492 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.01372359 0.00000000 0.00000000 0.00000000
|
||||
0.00259449 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00855046 0.00000000 0.00000000 0.00000000 0.00173528
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00559259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00378860
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00263495 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00187017
|
||||
|
||||
BRESULTS,B[I,J]
|
||||
1.46862078 0.00000000 0.00000000 0.00000000 0.02376409 0.00000000
|
||||
0.00000000 0.00000000 -0.00715683 0.00000000 0.00000000 1.51725873
|
||||
0.00000000 0.00000000 0.00000000 0.01179355 0.00000000 0.00000000
|
||||
0.00000000 -0.00466756 0.00000000 0.00000000 1.56103436 0.00000000
|
||||
0.00000000 0.00000000 0.00662809 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 1.62579256 0.00000000 0.00000000
|
||||
0.00000000 0.00403492 0.00000000 0.00000000 -0.31208978 0.00000000
|
||||
0.00000000 0.00000000 1.78845750 0.00000000 0.00000000 0.00000000
|
||||
0.00296132 0.00000000 0.00000000 -0.41973584 0.00000000 0.00000000
|
||||
0.00000000 1.95474707 0.00000000 0.00000000 0.00000000 0.00224217
|
||||
0.00000000 0.00000000 -0.45621891 0.00000000 0.00000000 0.00000000
|
||||
2.09968015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 -0.47127520 0.00000000 0.00000000 0.00000000 2.24504077
|
||||
0.00000000 0.00000000 0.24615534 0.00000000 0.00000000 0.00000000
|
||||
-0.62017166 0.00000000 0.00000000 0.00000000 2.60217293 0.00000000
|
||||
0.00000000 0.45290397 0.00000000 0.00000000 0.00000000 -0.84088528
|
||||
0.00000000 0.00000000 0.00000000 3.19761985
|
||||
|
||||
|
||||
|
||||
ARESULTS,A[I,J]
|
||||
1.46862078 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51725873
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 1.56103436 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 1.62579256 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 -0.45834154 0.00000000
|
||||
0.00000000 0.00000000 1.78845750 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 -0.63684787 0.00000000 0.00000000
|
||||
0.00000000 1.95474707 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 -0.71217339 0.00000000 0.00000000 0.00000000
|
||||
2.09968015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 -0.76619571 0.00000000 0.00000000 0.00000000 2.24504077
|
||||
0.00000000 0.00000000 0.64575929 0.00000000 0.00000000 0.00000000
|
||||
-1.10915066 0.00000000 0.00000000 0.00000000 2.60217293 0.00000000
|
||||
0.00000000 1.22268850 0.00000000 0.00000000 0.00000000 -1.64371805
|
||||
0.00000000 0.00000000 0.00000000 3.19761985
|
||||
|
||||
HA[8NU-1]
|
||||
5.05459676 4.22746744
|
||||
|
||||
|
||||
|
||||
PRELIMINARY BOUNDARY VALUES
|
||||
0.00049796 0.00791169 0.03929300 0.12059664 0.28013585 0.52195921
|
||||
0.74267215 0.54385348 -1.08334289 0.00015377 0.00012639 0.00003562
|
||||
-0.00014939 -0.00046394 -0.00094592 -0.00163344 -0.00256166 -0.00375919
|
||||
-0.00496748 -0.00643700 -0.00819553 -0.01026852 -0.01267808 -0.01544181
|
||||
-0.01857169 -0.02207304 -0.02594347 -0.03017200 -0.03473833
|
||||
|
||||
CONSTANT
|
||||
0.09317613
|
||||
|
||||
CORRECTED BOUNDARY VALUES
|
||||
0.09367409 0.10108781 0.13246913 0.21377277 0.37331197 0.61513533
|
||||
0.83584828 0.63702960 -0.99016676 0.09332990 0.09330251 0.09321175
|
||||
0.09302673 0.09271219 0.09223020 0.09154268 0.09061446 0.08941694
|
||||
0.08820865 0.08673912 0.08498060 0.08290760 0.08049804 0.07773432
|
||||
0.07460443 0.07110308 0.06723265 0.06300412 0.05843780
|
||||
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
0 0.44141586 14.56267126 268.53739949 2509.40591810 14676.43961760
|
||||
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
5 0.41397667 12.04198740 210.11008942 1936.17081241 11276.59767970
|
||||
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
10 0.33798098 5.55511615 61.63905157 483.02016362 2663.82243904
|
||||
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
15 0.23022241 -2.16291315 -108.92447960 -1174.90468123 -7143.60132270
|
||||
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
20 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
25 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
30 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
35 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
40 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
45 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010920
|
||||
|
||||
LABEL 000000000OUTPUT 00187053?COMPILE EXAMPLE/BALGOL1 ALGOL GO EXAMPLE/BALGOL1
|
||||
@@ -0,0 +1,209 @@
|
||||
$ SET LINEINFO 00000100170222PK
|
||||
BEGIN 00001000
|
||||
COMMENT 00001100
|
||||
BAC-EXAMPLE-1 CONVERTED FROM BALGOL TO BURROUGHS B5500 EXTENDED ALGOL.00001200
|
||||
2017-02-13 P.KIMPEL 00001300
|
||||
; 00001400
|
||||
00010000
|
||||
FILE INPUT (KIND=READER, MAXRECSIZE=80, FRAMESIZE=8); 00010100170222PK
|
||||
FILE OUTPUT (KIND=PRINTER, MAXRECSIZE=120, FRAMESIZE=8); 00010200170222PK
|
||||
00011000170222PK
|
||||
DEFINE 00011100170222PK
|
||||
DEGREE1 = 0.017453293 #, % PI/180 = 1 DEGREE 00011200170222PK
|
||||
DEGREE2 = 0.034906585 #, % PI/90 = 2 DEGREES 00011300170222PK
|
||||
DEGREE5 = 0.087266463 #, % PI/36 = 5 DEGREES 00011400170222PK
|
||||
DEGREE34 = 0.59341195 #, % 34PI/180 = 34 DEGREES 00011500170222PK
|
||||
DEGREE45 = 0.78539816 #; % PI/4 = 45 DEGREES 00011600170222PK
|
||||
00020000
|
||||
REAL 00050000
|
||||
AVT, 00050100
|
||||
CONST, 00050200
|
||||
SUM; 00050300
|
||||
LABEL 00080000
|
||||
FINISH, 00080100
|
||||
RDIM, 00080200
|
||||
START; 00080300
|
||||
00200000
|
||||
COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963. 00200100170222PK
|
||||
J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING 00200200
|
||||
PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES, 00200300
|
||||
USING ORTHONORMAL FUNCTIONS; 00200400
|
||||
00200500
|
||||
COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS 00200600
|
||||
AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A 00200700
|
||||
HARMONIC BOUNDARY-VALUE PROBLEM; 00200800
|
||||
00200900
|
||||
COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS; 00201000
|
||||
00201100
|
||||
INTEGER I, J, K, L, M, N, NU, TH; 00201200
|
||||
ARRAY R[1:29], HFN[1:29], DSUM[1:24], HFCN[1:5], HFCEN[1:6], 00201300
|
||||
FA[1:25,1:25], A[1:25,1:25], B[1:25,1:25], HA[1:47], HAA[1:24]; 00201400
|
||||
LIST DATA (FOR I:=1 STEP 1 UNTIL 29 DO R[I]), DIMEN(N); 00201500170222PK
|
||||
LIST FRESULTS (FOR I:=1 STEP 1 UNTIL N DO 00201600170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO FA[I,J]), 00201700170222PK
|
||||
ARESULTS (FOR I:=1 STEP 1 UNTIL N DO 00201800170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO A[I,J]), 00201900170222PK
|
||||
BRESULTS (FOR I:=1 STEP 1 UNTIL N DO 00202000170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO B[I,J]), 00202100170222PK
|
||||
COEFFS (FOR NU:=4 STEP 4 UNTIL N-1 DO HA[2*NU-1]), 00202200170222PK
|
||||
HFNRES (FOR K:=1 STEP 1 UNTIL 29 DO HFN[K]), 00202300170222PK
|
||||
CRES(CONST), HFCNRES (TH, FOR K:=1 STEP 1 UNTIL 5 DO HFCN[K]), 00202400170222PK
|
||||
HFCENRES(TH, FOR K:=1 STEP 1 UNTIL 6 DO HFCEN[K]); 00202500170222PK
|
||||
FORMAT VECTOR (X8,6F16.8), 00202600170222PK
|
||||
FTITLE (/,X48,"FRESULTS,FA[I,J]"), 00202700
|
||||
BTITLE (/,X48,"BRESULTS,B[I,J]"), 00202800170222PK
|
||||
ATITLE (/,X48,"ARESULTS,A[I,J]"), 00202900
|
||||
COEFTITLE (/,X30,"HA[8NU-1]"), 00203000
|
||||
BDYVALUES (/,X42,"PRELIMINARY BOUNDARY VALUES"), 00203100
|
||||
CBDYVALUES (/,X43,"CORRECTED BOUNDARY VALUES"), 00203200
|
||||
CONTITLE (/,X50,"CONSTANT"), 00203300
|
||||
TABLE (X8,I2,X6,6F16.8), 00203400
|
||||
TABLEHEAD (/,X40, "THE VALUES OF H(RHO,TH) IN B"), 00203500
|
||||
TABLELINE (X13,"RHO",X6,"0.5",X13,"1.0",X13,"1.5",X13, 00203600
|
||||
"2.0",X13,"2.5",X13,"3.0"), 00203700
|
||||
TABLETH (X8,"TH"); 00203800
|
||||
START: 00800100
|
||||
READ (INPUT, /, DATA); 00800200
|
||||
WRITE (OUTPUT, <"INPUT DATA:",/,6(5F16.4,/)>, DATA); 00800250
|
||||
RDIM: 00800300
|
||||
READ (INPUT, /, DIMEN) [FINISH]; 00800400
|
||||
WRITE (OUTPUT, <"NUMBER OF DIMENSIONS:",I3>, DIMEN); 00800450
|
||||
FOR I:=1 STEP 1 UNTIL N DO 00800500170222PK
|
||||
FOR J:=I STEP 4 UNTIL N DO 00800600170222PK
|
||||
BEGIN 00800700
|
||||
L:= I-J; K:= I+J; 00800800170222PK
|
||||
SUM:= R[1]**K + 1.5*R[18]**K*COS(DEGREE34*L) 00800900170222PK
|
||||
+ 0.5*R[29]**K*COS(DEGREE45*L); 00801000170222PK
|
||||
FOR M:=2 STEP 1 UNTIL 17 DO 00801100170222PK
|
||||
SUM:= SUM + 2.0*R[M]**K*COS((M-1)*DEGREE2*L); 00801200170222PK
|
||||
FOR M:=19 STEP 1 UNTIL 28 DO 00801300170222PK
|
||||
SUM:= SUM + R[M]**K*COS((DEGREE34 + (M-18)*DEGREE1)*L); 00801400170222PK
|
||||
FA[I,J]:= (8.0/K)*DEGREE1*SUM 00801500170222PK
|
||||
END; 00801600
|
||||
WRITE (OUTPUT[SPACE 2]); 00801700170222PK
|
||||
WRITE (OUTPUT, FTITLE); 00801800
|
||||
WRITE (OUTPUT, VECTOR, FRESULTS); 00801900
|
||||
FOR J:=1 STEP 1 UNTIL N DO 00802000170222PK
|
||||
B[1,J]:= FA[1,J]; 00802100170222PK
|
||||
FOR I:=2 STEP 1 UNTIL N DO 00802200170222PK
|
||||
BEGIN 00802300
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 00802400170222PK
|
||||
B[I,J]:= -B[J,I]/B[J,J]; 00802500170222PK
|
||||
FOR J:=I STEP 1 UNTIL N DO 00802600170222PK
|
||||
BEGIN 00802700
|
||||
B[I,J]:= FA[I,J]; 00802800170222PK
|
||||
FOR K:=1 STEP 1 UNTIL I-1 DO 00802900170222PK
|
||||
B[I,J]:= B[I,J] + B[I,K]*B[K,J] 00803000170222PK
|
||||
END; 00803100
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 00803200170222PK
|
||||
B[I,J]:= B[I,J]*SQRT(B[J,J]/B[I,I]) 00803300170222PK
|
||||
END; 00803400
|
||||
FOR I:=1 STEP 1 UNTIL N DO 00803500170222PK
|
||||
B[I,I]:= 1.0/(SQRT(B[I,I])*I); 00803600170222PK
|
||||
WRITE (OUTPUT, BTITLE); 00803700
|
||||
WRITE (OUTPUT, VECTOR, BRESULTS); 00803800
|
||||
FOR I:=1 STEP 1 UNTIL N DO 00803900170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO 00804000170222PK
|
||||
A[I,J]:= 0; 00804100170222PK
|
||||
A[1,1]:= B[1,1]; 00804200170222PK
|
||||
FOR I:=2 STEP 1 UNTIL N DO 00804300170222PK
|
||||
BEGIN 00804400
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 00804500170222PK
|
||||
BEGIN 00804600
|
||||
A[I,J]:= 0; 00804700170222PK
|
||||
FOR K:=J STEP 1 UNTIL I-1 DO 00804800170222PK
|
||||
A[I,J]:= A[I,J] + B[I,K]*A[K,J] 00804900170222PK
|
||||
END; 00805000
|
||||
A[I,I]:= B[I,I] 00805100170222PK
|
||||
END; 00805200
|
||||
WRITE (OUTPUT[SPACE 2]); 00805300170222PK
|
||||
WRITE (OUTPUT, ATITLE); 00805400
|
||||
WRITE (OUTPUT, VECTOR, ARESULTS); 00805500
|
||||
00805600
|
||||
COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION; 00805700
|
||||
00805800
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00805900170222PK
|
||||
BEGIN 00806000
|
||||
DSUM[J]:= 0; 00806100170222PK
|
||||
FOR M:=1 STEP 1 UNTIL 17 DO 00806200170222PK
|
||||
DSUM[J]:= DSUM[J] + (R[M]**2 + R[M+1]**2)* 00806300170222PK
|
||||
(R[M+1]**J*SIN(M*DEGREE2*J) 00806400170222PK
|
||||
- R[M]**J*SIN((M-1)*DEGREE2*J)); 00806500170222PK
|
||||
FOR M:=18 STEP 1 UNTIL 28 DO 00806600170222PK
|
||||
DSUM[J]:= DSUM[J] + (R[M]**2 + R[M+1]**2*(R[M+1]**J* 00806700170222PK
|
||||
SIN((DEGREE34 + (M-17)*DEGREE1)*J) 00806800170222PK
|
||||
- R[M]**J*SIN((DEGREE34 00806900170222PK
|
||||
+ (M-18)*DEGREE1)*J))) 00807000170222PK
|
||||
END; 00807100
|
||||
FOR NU:=4 STEP 4 UNTIL N-1 DO 00807200170222PK
|
||||
BEGIN 00807300
|
||||
HA[2*NU-1]:= 0; 00807400170222PK
|
||||
FOR J:=4 STEP 4 UNTIL NU DO 00807500170222PK
|
||||
HA[2*NU-1]:= HA[2*NU-1] + A[NU,J]*DSUM[J]; 00807600170222PK
|
||||
HA[2*NU-1]:= 4.0*HA[2*NU-1] 00807700170222PK
|
||||
END; 00807800
|
||||
WRITE (OUTPUT, COEFTITLE); 00807900
|
||||
WRITE (OUTPUT, VECTOR, COEFFS); 00808000
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00808100170222PK
|
||||
BEGIN 00808200
|
||||
HAA[J]:= 0; 00808300170222PK
|
||||
FOR NU:=J STEP 4 UNTIL N-1 DO 00808400170222PK
|
||||
HAA[J]:= HAA[J] + HA[2*NU-1]*A[NU,J] 00808500170222PK
|
||||
END; 00808600
|
||||
FOR M:=1 STEP 1 UNTIL 18 DO 00808700170222PK
|
||||
BEGIN 00808800
|
||||
HFN[M]:= 0; 00808900170222PK
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00809000170222PK
|
||||
HFN[M]:= HFN[M] + HAA[J]*R[M]**J*COS((M-1)*DEGREE2*J) 00809100170222PK
|
||||
END; 00809200
|
||||
FOR M:=19 STEP 1 UNTIL 29 DO 00809300170222PK
|
||||
BEGIN 00809400
|
||||
HFN[M]:= 0; 00809500170222PK
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00809600170222PK
|
||||
HFN[M]:= HFN[M] + HAA[J]*R[M]**J* 00809700170222PK
|
||||
COS((DEGREE34 + (M-18)*DEGREE1)*J) 00809800170222PK
|
||||
END; 00809900
|
||||
WRITE (OUTPUT[SPACE 2]); 00810000170222PK
|
||||
WRITE (OUTPUT, BDYVALUES); 00810100
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00810200
|
||||
AVT:= 0; 00810300170222PK
|
||||
FOR M:=1 STEP 1 UNTIL 29 DO 00810400170222PK
|
||||
AVT:= AVT + R[M]**2 - HFN[M]; 00810500170222PK
|
||||
CONST:= AVT/29.0; 00810600170222PK
|
||||
WRITE (OUTPUT, CONTITLE); 00810700
|
||||
WRITE (OUTPUT, VECTOR, CRES); 00810800
|
||||
FOR M:=1 STEP 1 UNTIL 29 DO 00810900170222PK
|
||||
HFN[M]:= CONST + HFN[M]; 00811000170222PK
|
||||
WRITE (OUTPUT, CBDYVALUES); 00811100
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00811200
|
||||
FOR I:=1 STEP 1 UNTIL 5 DO 00811300170222PK
|
||||
BEGIN 00811400
|
||||
TH:= 5*(I-1); 00811500170222PK
|
||||
FOR J:=1 STEP 1 UNTIL 5 DO 00811600170222PK
|
||||
BEGIN 00811700
|
||||
HFCN[J]:= CONST; 00811800170222PK
|
||||
FOR M:=4 STEP 4 UNTIL N-1 DO 00811900170222PK
|
||||
HFCN[J]:= HFCN[J] + HAA[M]*(0.5*J)**M*COS((I-1)*DEGREE5*M) 00812000170222PK
|
||||
END; 00812100
|
||||
WRITE (OUTPUT[SPACE 2]); 00812200170222PK
|
||||
WRITE (OUTPUT, TABLEHEAD); 00812300
|
||||
WRITE (OUTPUT, TABLELINE); 00812400
|
||||
WRITE (OUTPUT, TABLETH); 00812500
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00812600
|
||||
END; 00812700
|
||||
FOR I:=6 STEP 1 UNTIL 10 DO 00812800170222PK
|
||||
BEGIN 00812900
|
||||
TH:= 5*(I-1); 00813000170222PK
|
||||
FOR J:=1 STEP 1 UNTIL 6 DO 00813100170222PK
|
||||
BEGIN 00813200
|
||||
HFCEN[J]:= CONST; 00813300170222PK
|
||||
FOR M:=4 STEP 4 UNTIL N-1 DO 00813400170222PK
|
||||
HFCEN[J]:= HFCEN[J] + HAA[M]*(0.5*J)**M* 00813500170222PK
|
||||
COS((I-1)*DEGREE5*M) 00813550170222PK
|
||||
END; 00813600
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00813700
|
||||
END; 00813800
|
||||
GO TO RDIM; 00813900
|
||||
00899000
|
||||
FINISH: 00899100
|
||||
END. 00899800
|
||||
439
software/BALGOL/BALGOL-Examples/B5500-EMODE/Example-1-EMODE.lst
Normal file
439
software/BALGOL/BALGOL-Examples/B5500-EMODE/Example-1-EMODE.lst
Normal file
@@ -0,0 +1,439 @@
|
||||
|
||||
Wed, Feb 22, 2017 09:19:00, SYSTEM SERIAL: 4448, LX100 MCP: *SYSTEM/511/051-1A-45/DELTA/MCP. 51.190.8474, HOSTNAME: MCPVMMA
|
||||
|
||||
|
||||
|
||||
|
||||
W O R K F L O W S T A T E M E N T S
|
||||
|
||||
|
||||
00100100 ?BEGIN JOB BALGOL/EXAMPLE1;
|
||||
00100200 JOBSUMMARY=UNCONDITIONAL;
|
||||
00100250 PRINTDEFAULTS=(PRINTDISPOSITION=EOJ);
|
||||
00100300
|
||||
00100400 COMPILE OBJECT/BALGOL/EXAMPLE1 ALGOL GO;
|
||||
00100500 ALGOL FILE CARD=SRCE/DEMO/BALGOL/EXAMPLE1 ON OPS;
|
||||
00100600 OPTION=(FAULT,DSED,ARRAY);
|
||||
00100700 DATA INPUT
|
||||
00999900 ? END JOB
|
||||
|
||||
|
||||
J O B S U M M A R Y
|
||||
|
||||
Wed, Feb 22, 2017
|
||||
|
||||
09:18:59 BOJ 4900 BALGOL/EXAMPLE1.
|
||||
JOB ENTERED SYSTEM: 02/22/2017 09:18:59 FROM WFL 51.189
|
||||
QUEUE: 0, ORIGINATING LSN: 186 MCS: 1
|
||||
STACK NUMBER: 0B1B, PRIORITY: 50, SOURCENAME: DIGMGX39/CANDE/1.
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
INITIATING MCS: SYSTEM/CANDE.
|
||||
09:18:59 BOT 4901 *SYSTEM/ALGOL.
|
||||
CODE COMPILED: 09/07/2005 15:02:44 BY ALGOL 51.190
|
||||
RELEASE ID: IC ALGOL-051.1A.4 [51.190.004] (51.190.8023)
|
||||
TASK TYPE: COROUTINE (CALL)
|
||||
STACK NUMBER: 0B1E, PRIORITY: 50, SOURCENAME: DIGMGX39/CANDE/1.
|
||||
CODEFILE: OBJECT/BALGOL/EXAMPLE1.
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
INITIATING MCS: SYSTEM/CANDE.
|
||||
09:18:59 BOT 4902 (PAUL)OBJECT/BALGOL/EXAMPLE1 ON OPS.
|
||||
CODE COMPILED: 02/22/2017 09:18:59 BY ALGOL 51.190
|
||||
TASK TYPE: DEPENDENT TASK (PROCESS)
|
||||
STACK NUMBER: 0B20, PRIORITY: 50, SOURCENAME: DIGMGX39/CANDE/1.
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
INITIATING MCS: SYSTEM/CANDE.
|
||||
09:18:59 4902 MESSAGE: STACK EXTENDED FROM 1602 TO 1852 WORDS.
|
||||
09:19:00 EOT 4901 *SYSTEM/ALGOL.
|
||||
RELEASE ID:IC ALGOL-051.1A.4 [51.190.004] (51.190.8023)
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
STACK NUMBER: 0B1E AVERAGE DISK SECTORS IN USE BY PERMANENT FILES: 1197.
|
||||
PROCESSOR TIME: 00:00:00.4198 LINES PRINTED: 231.
|
||||
I/O TIME: 00:00:00.1447 NUMBER OF ARRAY RESIZES: 4.
|
||||
READYQ TIME: 00:00:00.0303 AVERAGE MEMORY USAGE: CODE=22920, DATA=75186
|
||||
INITPBIT TIME: 00:00:00.2522 MEMORY INTEGRAL: CODE=12.940, DATA=42.449
|
||||
ELAPSED TIME: 00:00:00.8738 INITIAL PBITS: 451.
|
||||
MAXIMUM NUMBER OF ASDS USED: 164.
|
||||
MAXIMUM SAVE MEMORY USED: 12295.
|
||||
|
||||
09:19:00 4902 MESSAGE: STACK EXTENDED FROM 1852 TO 2102 WORDS.
|
||||
09:19:00 EOT 4902 (PAUL)OBJECT/BALGOL/EXAMPLE1 ON OPS.
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
STACK NUMBER: 0B20 AVERAGE DISK SECTORS IN USE BY PERMANENT FILES: 486.
|
||||
PROCESSOR TIME: 00:00:00.1376 CARDS READ: 3.
|
||||
I/O TIME: 00:00:00.0411 LINES PRINTED: 123.
|
||||
READYQ TIME: 00:00:00.1193 NUMBER OF ARRAY RESIZES: 5.
|
||||
ELAPSED TIME: 00:00:00.3780 AVERAGE MEMORY USAGE: CODE=930, DATA=4503
|
||||
MEMORY INTEGRAL: CODE=0.166, DATA=0.805
|
||||
INITIAL PBITS: 145.
|
||||
MAXIMUM NUMBER OF ASDS USED: 70.
|
||||
MAXIMUM SAVE MEMORY USED: 8421.
|
||||
|
||||
09:19:00 EOJ 4900 BALGOL/EXAMPLE1.
|
||||
USERCODE: PAUL. REALUSERCODE: PAUL.
|
||||
STACK NUMBER: 0B1B NUMBER OF ARRAY RESIZES: 1.
|
||||
PROCESSOR TIME: 00:00:00.0000 AVERAGE MEMORY USAGE: CODE=88, DATA=1921
|
||||
I/O TIME: 00:00:00.0007 MEMORY INTEGRAL: CODE=0.000, DATA=0.001
|
||||
READYQ TIME: 00:00:00.0085 INITIAL PBITS: 38.
|
||||
ELAPSED TIME: 00:00:01.1283 MAXIMUM NUMBER OF ASDS USED: 10.
|
||||
MAXIMUM SAVE MEMORY USED: 1808.
|
||||
|
||||
|
||||
Unisys ClearPath LX Series SYSTEMS BDMSALGOL COMPILER, VERSION 51.190.8023, WEDNESDAY, 02/22/2017, 09:18 AM.
|
||||
|
||||
|
||||
|
||||
( P A U L ) O B J E C T / B A L G O L / E X A M P L E 1 O N O P S
|
||||
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||
|
||||
|
||||
$ SET LINEINFO 00000100 0000:0000:0 170222PK
|
||||
BEGIN 00001000 0000:0000:0
|
||||
BLOCK#1 IS SEGMENT 0003
|
||||
COMMENT 1 00001100 0003:0000:1
|
||||
BAC-EXAMPLE-1 CONVERTED FROM BALGOL TO BURROUGHS B5500 EXTENDED ALGOL. 00001200 0003:0000:1
|
||||
2017-02-13 P.KIMPEL 00001300 0003:0000:1
|
||||
; 00001400 0003:0000:1
|
||||
00010000 0003:0000:1
|
||||
FILE INPUT (KIND=READER, MAXRECSIZE=80, FRAMESIZE=8); 00010100 0003:0000:1 170222PK
|
||||
DATA LENGTH IN WORDS IS 000C
|
||||
FILE OUTPUT (KIND=PRINTER, MAXRECSIZE=120, FRAMESIZE=8); 00010200 0003:0000:1 170222PK
|
||||
DATA LENGTH IN WORDS IS 000C
|
||||
00011000 0003:0000:1 170222PK
|
||||
DEFINE 00011100 0003:0000:1 170222PK
|
||||
DEGREE1 = 0.017453293 #, % PI/180 = 1 DEGREE 00011200 0003:0000:1 170222PK
|
||||
DEGREE2 = 0.034906585 #, % PI/90 = 2 DEGREES 00011300 0003:0000:1 170222PK
|
||||
DEGREE5 = 0.087266463 #, % PI/36 = 5 DEGREES 00011400 0003:0000:1 170222PK
|
||||
DEGREE34 = 0.59341195 #, % 34PI/180 = 34 DEGREES 00011500 0003:0000:1 170222PK
|
||||
DEGREE45 = 0.78539816 #; % PI/4 = 45 DEGREES 00011600 0003:0000:1 170222PK
|
||||
00020000 0003:0000:1
|
||||
REAL 00050000 0003:0000:1
|
||||
AVT, 00050100 0003:0000:1
|
||||
CONST, 00050200 0003:0000:1
|
||||
SUM; 00050300 0003:0000:1
|
||||
LABEL 00080000 0003:0000:1
|
||||
FINISH, 00080100 0003:0000:1
|
||||
RDIM, 00080200 0003:0000:1
|
||||
START; 00080300 0003:0000:1
|
||||
00200000 0003:0000:1
|
||||
COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963. 00200100 0003:0000:1 170222PK
|
||||
J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING 00200200 0003:0000:1
|
||||
PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES, 00200300 0003:0000:1
|
||||
USING ORTHONORMAL FUNCTIONS; 00200400 0003:0000:1
|
||||
00200500 0003:0000:1
|
||||
COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS 00200600 0003:0000:1
|
||||
AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A 00200700 0003:0000:1
|
||||
HARMONIC BOUNDARY-VALUE PROBLEM; 00200800 0003:0000:1
|
||||
00200900 0003:0000:1
|
||||
COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS; 00201000 0003:0000:1
|
||||
00201100 0003:0000:1
|
||||
INTEGER I, J, K, L, M, N, NU, TH; 00201200 0003:0000:1
|
||||
ARRAY R[1:29], HFN[1:29], DSUM[1:24], HFCN[1:5], HFCEN[1:6], 00201300 0003:0000:1
|
||||
FA[1:25,1:25], A[1:25,1:25], B[1:25,1:25], HA[1:47], HAA[1:24]; 00201400 0003:0000:1
|
||||
LIST DATA (FOR I:=1 STEP 1 UNTIL 29 DO R[I]), DIMEN(N); 00201500 0003:0012:3 170222PK
|
||||
LIST FRESULTS (FOR I:=1 STEP 1 UNTIL N DO 00201600 0003:002F:3 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO FA[I,J]), 00201700 0003:0030:1 170222PK
|
||||
ARESULTS (FOR I:=1 STEP 1 UNTIL N DO 00201800 0003:0050:1 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO A[I,J]), 00201900 0003:0050:5 170222PK
|
||||
BRESULTS (FOR I:=1 STEP 1 UNTIL N DO 00202000 0003:0070:4 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO B[I,J]), 00202100 0003:0071:2 170222PK
|
||||
COEFFS (FOR NU:=4 STEP 4 UNTIL N-1 DO HA[2*NU-1]), 00202200 0003:0091:1 170222PK
|
||||
HFNRES (FOR K:=1 STEP 1 UNTIL 29 DO HFN[K]), 00202300 0003:00AA:1 170222PK
|
||||
CRES(CONST), HFCNRES (TH, FOR K:=1 STEP 1 UNTIL 5 DO HFCN[K]), 00202400 0003:00BE:4 170222PK
|
||||
HFCENRES(TH, FOR K:=1 STEP 1 UNTIL 6 DO HFCEN[K]); 00202500 0003:00E1:1 170222PK
|
||||
FORMAT VECTOR (X8,6F16.8), 00202600 0003:00FB:1 170222PK
|
||||
FTITLE (/,X48,"FRESULTS,FA[I,J]"), 00202700 0003:00FB:1
|
||||
BTITLE (/,X48,"BRESULTS,B[I,J]"), 00202800 0003:00FB:1 170222PK
|
||||
ATITLE (/,X48,"ARESULTS,A[I,J]"), 00202900 0003:00FB:1
|
||||
COEFTITLE (/,X30,"HA[8NU-1]"), 00203000 0003:00FB:1
|
||||
BDYVALUES (/,X42,"PRELIMINARY BOUNDARY VALUES"), 00203100 0003:00FB:1
|
||||
CBDYVALUES (/,X43,"CORRECTED BOUNDARY VALUES"), 00203200 0003:00FB:1
|
||||
CONTITLE (/,X50,"CONSTANT"), 00203300 0003:00FB:1
|
||||
TABLE (X8,I2,X6,6F16.8), 00203400 0003:00FB:1
|
||||
TABLEHEAD (/,X40, "THE VALUES OF H(RHO,TH) IN B"), 00203500 0003:00FB:1
|
||||
TABLELINE (X13,"RHO",X6,"0.5",X13,"1.0",X13,"1.5",X13, 00203600 0003:00FB:1
|
||||
"2.0",X13,"2.5",X13,"3.0"), 00203700 0003:00FB:1
|
||||
TABLETH (X8,"TH"); 00203800 0003:00FB:1
|
||||
START: 00800100 0003:00FB:1
|
||||
READ (INPUT, /, DATA); 00800200 0003:00FB:1
|
||||
WRITE (OUTPUT, <"INPUT DATA:",/,6(5F16.4,/)>, DATA); 00800250 0003:0104:4
|
||||
RDIM: 00800300 0003:010B:4
|
||||
READ (INPUT, /, DIMEN) [FINISH]; 00800400 0003:010B:4
|
||||
WRITE (OUTPUT, <"NUMBER OF DIMENSIONS:",I3>, DIMEN); 00800450 0003:0116:3
|
||||
FOR I:=1 STEP 1 UNTIL N DO 00800500 0003:011D:4 170222PK
|
||||
FOR J:=I STEP 4 UNTIL N DO 00800600 0003:011E:2 170222PK
|
||||
BEGIN 00800700 0003:011F:1
|
||||
L:= I-J; K:= I+J; 2 00800800 0003:011F:1 170222PK
|
||||
SUM:= R[1]**K + 1.5*R[18]**K*COS(DEGREE34*L) 00800900 0003:0122:1 170222PK
|
||||
+ 0.5*R[29]**K*COS(DEGREE45*L); 00801000 0003:012A:0 170222PK
|
||||
FOR M:=2 STEP 1 UNTIL 17 DO 00801100 0003:0131:3 170222PK
|
||||
SUM:= SUM + 2.0*R[M]**K*COS((M-1)*DEGREE2*L); 00801200 0003:0132:2 170222PK
|
||||
FOR M:=19 STEP 1 UNTIL 28 DO 00801300 0003:013C:5 170222PK
|
||||
SUM:= SUM + R[M]**K*COS((DEGREE34 + (M-18)*DEGREE1)*L); 00801400 0003:013D:4 170222PK
|
||||
FA[I,J]:= (8.0/K)*DEGREE1*SUM 00801500 0003:0149:0 170222PK
|
||||
END; 00801600 0003:014E:1
|
||||
WRITE (OUTPUT[SPACE 2]); 2 00801700 0003:0153:2 170222PK
|
||||
WRITE (OUTPUT, FTITLE); 00801800 0003:0159:2
|
||||
WRITE (OUTPUT, VECTOR, FRESULTS); 00801900 0003:015E:4
|
||||
FOR J:=1 STEP 1 UNTIL N DO 00802000 0003:0165:4 170222PK
|
||||
B[1,J]:= FA[1,J]; 00802100 0003:0166:2 170222PK
|
||||
FOR I:=2 STEP 1 UNTIL N DO 00802200 0003:016B:4 170222PK
|
||||
BEGIN 00802300 0003:016C:3
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 2 00802400 0003:016C:3 170222PK
|
||||
B[I,J]:= -B[J,I]/B[J,J]; 00802500 0003:016E:3 170222PK
|
||||
FOR J:=I STEP 1 UNTIL N DO 00802600 0003:0176:1 170222PK
|
||||
BEGIN 00802700 0003:0177:0
|
||||
B[I,J]:= FA[I,J]; 3 00802800 0003:0177:0 170222PK
|
||||
FOR K:=1 STEP 1 UNTIL I-1 DO 00802900 0003:017B:1 170222PK
|
||||
B[I,J]:= B[I,J] + B[I,K]*B[K,J] 00803000 0003:017D:1 170222PK
|
||||
END; 00803100 0003:0185:0
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 3 00803200 0003:0189:0 170222PK
|
||||
B[I,J]:= B[I,J]*SQRT(B[J,J]/B[I,I]) 00803300 0003:018B:0 170222PK
|
||||
END; 00803400 0003:0193:2
|
||||
FOR I:=1 STEP 1 UNTIL N DO 2 00803500 0003:0197:3 170222PK
|
||||
B[I,I]:= 1.0/(SQRT(B[I,I])*I); 00803600 0003:0198:1 170222PK
|
||||
WRITE (OUTPUT, BTITLE); 00803700 0003:01A0:5
|
||||
WRITE (OUTPUT, VECTOR, BRESULTS); 00803800 0003:01A5:4
|
||||
FOR I:=1 STEP 1 UNTIL N DO 00803900 0003:01AC:4 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL N DO 00804000 0003:01AD:2 170222PK
|
||||
A[I,J]:= 0; 00804100 0003:01AE:0 170222PK
|
||||
A[1,1]:= B[1,1]; 00804200 0003:01B4:4 170222PK
|
||||
FOR I:=2 STEP 1 UNTIL N DO 00804300 0003:01B6:5 170222PK
|
||||
BEGIN 00804400 0003:01B7:4
|
||||
FOR J:=1 STEP 1 UNTIL I-1 DO 2 00804500 0003:01B7:4 170222PK
|
||||
BEGIN 00804600 0003:01B9:4
|
||||
A[I,J]:= 0; 3 00804700 0003:01B9:4 170222PK
|
||||
FOR K:=J STEP 1 UNTIL I-1 DO 00804800 0003:01BC:0 170222PK
|
||||
A[I,J]:= A[I,J] + B[I,K]*A[K,J] 00804900 0003:01BE:1 170222PK
|
||||
END; 00805000 0003:01C6:0
|
||||
A[I,I]:= B[I,I] 3 00805100 0003:01C9:0 170222PK
|
||||
END; 00805200 0003:01CC:5
|
||||
WRITE (OUTPUT[SPACE 2]); 2 00805300 0003:01CF:2 170222PK
|
||||
WRITE (OUTPUT, ATITLE); 00805400 0003:01D5:2
|
||||
WRITE (OUTPUT, VECTOR, ARESULTS); 00805500 0003:01DA:4
|
||||
00805600 0003:01E1:4
|
||||
COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION; 00805700 0003:01E1:4
|
||||
00805800 0003:01E1:4
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00805900 0003:01E1:4 170222PK
|
||||
BEGIN 00806000 0003:01E3:5
|
||||
DSUM[J]:= 0; 2 00806100 0003:01E3:5 170222PK
|
||||
FOR M:=1 STEP 1 UNTIL 17 DO 00806200 0003:01E5:2 170222PK
|
||||
DSUM[J]:= DSUM[J] + (R[M]**2 + R[M+1]**2)* 00806300 0003:01E6:0 170222PK
|
||||
(R[M+1]**J*SIN(M*DEGREE2*J) 00806400 0003:01EB:2 170222PK
|
||||
- R[M]**J*SIN((M-1)*DEGREE2*J)); 00806500 0003:01F1:1 170222PK
|
||||
FOR M:=18 STEP 1 UNTIL 28 DO 00806600 0003:01FA:5 170222PK
|
||||
DSUM[J]:= DSUM[J] + (R[M]**2 + R[M+1]**2*(R[M+1]**J* 00806700 0003:01FB:4 170222PK
|
||||
SIN((DEGREE34 + (M-17)*DEGREE1)*J) 00806800 0003:0202:5 170222PK
|
||||
- R[M]**J*SIN((DEGREE34 00806900 0003:0208:2 170222PK
|
||||
+ (M-18)*DEGREE1)*J))) 00807000 0003:020C:1 170222PK
|
||||
END; 00807100 0003:0210:2
|
||||
FOR NU:=4 STEP 4 UNTIL N-1 DO 2 00807200 0003:0215:3 170222PK
|
||||
BEGIN 00807300 0003:0217:4
|
||||
HA[2*NU-1]:= 0; 2 00807400 0003:0217:4 170222PK
|
||||
FOR J:=4 STEP 4 UNTIL NU DO 00807500 0003:021A:0 170222PK
|
||||
HA[2*NU-1]:= HA[2*NU-1] + A[NU,J]*DSUM[J]; 00807600 0003:021A:5 170222PK
|
||||
HA[2*NU-1]:= 4.0*HA[2*NU-1] 00807700 0003:0224:5 170222PK
|
||||
END; 00807800 0003:0229:3
|
||||
WRITE (OUTPUT, COEFTITLE); 2 00807900 0003:022B:2
|
||||
WRITE (OUTPUT, VECTOR, COEFFS); 00808000 0003:0230:4
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00808100 0003:0237:4 170222PK
|
||||
BEGIN 00808200 0003:0239:5
|
||||
HAA[J]:= 0; 2 00808300 0003:0239:5 170222PK
|
||||
FOR NU:=J STEP 4 UNTIL N-1 DO 00808400 0003:023B:2 170222PK
|
||||
HAA[J]:= HAA[J] + HA[2*NU-1]*A[NU,J] 00808500 0003:023D:3 170222PK
|
||||
END; 00808600 0003:0243:4
|
||||
FOR M:=1 STEP 1 UNTIL 18 DO 2 00808700 0003:0247:0 170222PK
|
||||
BEGIN 00808800 0003:0247:4
|
||||
HFN[M]:= 0; 2 00808900 0003:0247:4 170222PK
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00809000 0003:0249:1 170222PK
|
||||
HFN[M]:= HFN[M] + HAA[J]*R[M]**J*COS((M-1)*DEGREE2*J) 00809100 0003:024B:2 170222PK
|
||||
END; 00809200 0003:0254:1
|
||||
FOR M:=19 STEP 1 UNTIL 29 DO 2 00809300 0003:0258:5 170222PK
|
||||
BEGIN 00809400 0003:0259:4
|
||||
HFN[M]:= 0; 2 00809500 0003:0259:4 170222PK
|
||||
FOR J:=4 STEP 4 UNTIL N-1 DO 00809600 0003:025B:1 170222PK
|
||||
HFN[M]:= HFN[M] + HAA[J]*R[M]**J* 00809700 0003:025D:2 170222PK
|
||||
COS((DEGREE34 + (M-18)*DEGREE1)*J) 00809800 0003:0262:0 170222PK
|
||||
END; 00809900 0003:0268:2
|
||||
WRITE (OUTPUT[SPACE 2]); 2 00810000 0003:026D:0 170222PK
|
||||
WRITE (OUTPUT, BDYVALUES); 00810100 0003:0273:2
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00810200 0003:0278:4
|
||||
AVT:= 0; 00810300 0003:027F:4 170222PK
|
||||
FOR M:=1 STEP 1 UNTIL 29 DO 00810400 0003:0280:2 170222PK
|
||||
AVT:= AVT + R[M]**2 - HFN[M]; 00810500 0003:0281:0 170222PK
|
||||
CONST:= AVT/29.0; 00810600 0003:0287:0 170222PK
|
||||
WRITE (OUTPUT, CONTITLE); 00810700 0003:0289:0
|
||||
WRITE (OUTPUT, VECTOR, CRES); 00810800 0003:028D:4
|
||||
FOR M:=1 STEP 1 UNTIL 29 DO 00810900 0003:0294:4 170222PK
|
||||
HFN[M]:= CONST + HFN[M]; 00811000 0003:0295:2 170222PK
|
||||
WRITE (OUTPUT, CBDYVALUES); 00811100 0003:029A:3
|
||||
WRITE (OUTPUT, VECTOR, HFNRES); 00811200 0003:029F:4
|
||||
FOR I:=1 STEP 1 UNTIL 5 DO 00811300 0003:02A6:4 170222PK
|
||||
BEGIN 00811400 0003:02A7:2
|
||||
TH:= 5*(I-1); 2 00811500 0003:02A7:2 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL 5 DO 00811600 0003:02A9:1 170222PK
|
||||
BEGIN 00811700 0003:02A9:5
|
||||
HFCN[J]:= CONST; 3 00811800 0003:02A9:5 170222PK
|
||||
FOR M:=4 STEP 4 UNTIL N-1 DO 00811900 0003:02AB:3 170222PK
|
||||
HFCN[J]:= HFCN[J] + HAA[M]*(0.5*J)**M*COS((I-1)*DEGREE5*M) 00812000 0003:02AD:4 170222PK
|
||||
END; 00812100 0003:02B7:1
|
||||
WRITE (OUTPUT[SPACE 2]); 3 00812200 0003:02BB:5 170222PK
|
||||
WRITE (OUTPUT, TABLEHEAD); 00812300 0003:02C2:2
|
||||
WRITE (OUTPUT, TABLELINE); 00812400 0003:02C7:4
|
||||
WRITE (OUTPUT, TABLETH); 00812500 0003:02CC:4
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 00812600 0003:02D1:4
|
||||
END; 00812700 0003:02D6:3
|
||||
FOR I:=6 STEP 1 UNTIL 10 DO 2 00812800 0003:02DA:5 170222PK
|
||||
BEGIN 00812900 0003:02DB:4
|
||||
TH:= 5*(I-1); 2 00813000 0003:02DB:4 170222PK
|
||||
FOR J:=1 STEP 1 UNTIL 6 DO 00813100 0003:02DD:3 170222PK
|
||||
BEGIN 00813200 0003:02DE:1
|
||||
HFCEN[J]:= CONST; 3 00813300 0003:02DE:1 170222PK
|
||||
FOR M:=4 STEP 4 UNTIL N-1 DO 00813400 0003:02DF:5 170222PK
|
||||
HFCEN[J]:= HFCEN[J] + HAA[M]*(0.5*J)**M* 00813500 0003:02E2:0 170222PK
|
||||
COS((I-1)*DEGREE5*M) 00813550 0003:02E6:5 170222PK
|
||||
END; 00813600 0003:02EB:1
|
||||
WRITE (OUTPUT, TABLE, HFCNRES) 3 00813700 0003:02EF:5
|
||||
END; 00813800 0003:02F4:4
|
||||
GO TO RDIM; 2 00813900 0003:02F8:5
|
||||
00899000 0003:02F9:2
|
||||
FINISH: 00899100 0003:02F9:2
|
||||
END. 00899800 0003:02F9:2
|
||||
DATA LENGTH IN WORDS IS 007B
|
||||
DATA LENGTH IN WORDS IS 002B
|
||||
BLOCK#1(0003) LENGTH IN WORDS IS 02FB
|
||||
STACKCODE IS SEGMENT 0010
|
||||
STACKCODE(0010) LENGTH IN WORDS IS 006A
|
||||
|
||||
====================================================================================================================================
|
||||
NUMBER OF ERRORS DETECTED = 0.
|
||||
NUMBER OF WARNINGS ISSUED = 1.
|
||||
NUMBER OF SEGMENTS = 14. TOTAL SEGMENT SIZE = 1059 WORDS. CORE ESTIMATE = 2163 WORDS. STACK ESTIMATE = 66
|
||||
PROGRAM SIZE = 209 CARDS, 2091 SYNTACTIC ITEMS, 68 DISK SECTORS.
|
||||
PROGRAM FILE NAME: (PAUL)OBJECT/BALGOL/EXAMPLE1 ON OPS.
|
||||
COMPILATION TIME = 0.467 SECONDS ELAPSED; 0.223 SECONDS PROCESSING; 0.102 SECONDS I/O.
|
||||
====================================================================================================================================
|
||||
|
||||
INPUT DATA:
|
||||
0.1000 0.2000 0.3000 0.4000 0.5000
|
||||
0.6000 0.7000 0.8000 0.9000 0.1000
|
||||
0.1100 0.1200 0.1300 0.1400 0.1500
|
||||
0.1600 0.1700 0.1800 0.1900 0.2000
|
||||
0.2100 0.2200 0.2300 0.2400 0.2500
|
||||
0.2600 0.2700 0.2800 0.2900
|
||||
NUMBER OF DIMENSIONS: 10
|
||||
|
||||
|
||||
FRESULTS,FA[I,J]
|
||||
0.46363975 0.00000000 0.00000000 0.00000000 0.02376409 0.00000000
|
||||
0.00000000 0.00000000 -0.00715683 0.00000000 0.00000000 0.10859772
|
||||
0.00000000 0.00000000 0.00000000 0.01179355 0.00000000 0.00000000
|
||||
0.00000000 -0.00466756 0.00000000 0.00000000 0.04559661 0.00000000
|
||||
0.00000000 0.00000000 0.00662809 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.02364557 0.00000000 0.00000000
|
||||
0.00000000 0.00403492 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.01372359 0.00000000 0.00000000 0.00000000
|
||||
0.00259449 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00855046 0.00000000 0.00000000 0.00000000 0.00173528
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00559259 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00378860
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00263495 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00187017
|
||||
|
||||
BRESULTS,B[I,J]
|
||||
1.46862078 0.00000000 0.00000000 0.00000000 0.02376409 0.00000000
|
||||
0.00000000 0.00000000 -0.00715683 0.00000000 0.00000000 1.51725873
|
||||
0.00000000 0.00000000 0.00000000 0.01179355 0.00000000 0.00000000
|
||||
0.00000000 -0.00466756 0.00000000 0.00000000 1.56103436 0.00000000
|
||||
0.00000000 0.00000000 0.00662809 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 1.62579256 0.00000000 0.00000000
|
||||
0.00000000 0.00403492 0.00000000 0.00000000 -0.31208978 0.00000000
|
||||
0.00000000 0.00000000 1.78845750 0.00000000 0.00000000 0.00000000
|
||||
0.00296132 0.00000000 0.00000000 -0.41973584 0.00000000 0.00000000
|
||||
0.00000000 1.95474707 0.00000000 0.00000000 0.00000000 0.00224217
|
||||
0.00000000 0.00000000 -0.45621891 0.00000000 0.00000000 0.00000000
|
||||
2.09968015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 -0.47127520 0.00000000 0.00000000 0.00000000 2.24504077
|
||||
0.00000000 0.00000000 0.24615534 0.00000000 0.00000000 0.00000000
|
||||
-0.62017166 0.00000000 0.00000000 0.00000000 2.60217293 0.00000000
|
||||
0.00000000 0.45290397 0.00000000 0.00000000 0.00000000 -0.84088529
|
||||
0.00000000 0.00000000 0.00000000 3.19761985
|
||||
|
||||
|
||||
ARESULTS,A[I,J]
|
||||
1.46862078 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 1.51725873
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 1.56103436 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 1.62579256 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 0.00000000 -0.45834154 0.00000000
|
||||
0.00000000 0.00000000 1.78845750 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 0.00000000 -0.63684787 0.00000000 0.00000000
|
||||
0.00000000 1.95474707 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 0.00000000 -0.71217340 0.00000000 0.00000000 0.00000000
|
||||
2.09968015 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
|
||||
0.00000000 -0.76619571 0.00000000 0.00000000 0.00000000 2.24504077
|
||||
0.00000000 0.00000000 0.64575929 0.00000000 0.00000000 0.00000000
|
||||
-1.10915066 0.00000000 0.00000000 0.00000000 2.60217293 0.00000000
|
||||
0.00000000 1.22268850 0.00000000 0.00000000 0.00000000 -1.64371805
|
||||
0.00000000 0.00000000 0.00000000 3.19761985
|
||||
|
||||
HA[8NU-1]
|
||||
5.05459676 4.22746744
|
||||
|
||||
|
||||
PRELIMINARY BOUNDARY VALUES
|
||||
0.00049796 0.00791169 0.03929300 0.12059664 0.28013585 0.52195921
|
||||
0.74267215 0.54385348 -1.08334289 0.00015377 0.00012639 0.00003562
|
||||
-0.00014939 -0.00046394 -0.00094593 -0.00163344 -0.00256166 -0.00375919
|
||||
-0.00496748 -0.00643700 -0.00819553 -0.01026852 -0.01267808 -0.01544181
|
||||
-0.01857169 -0.02207304 -0.02594347 -0.03017200 -0.03473833
|
||||
|
||||
CONSTANT
|
||||
0.09317613
|
||||
|
||||
CORRECTED BOUNDARY VALUES
|
||||
0.09367409 0.10108781 0.13246913 0.21377277 0.37331197 0.61513533
|
||||
0.83584828 0.63702960 -0.99016676 0.09332990 0.09330251 0.09321175
|
||||
0.09302673 0.09271219 0.09223020 0.09154268 0.09061446 0.08941694
|
||||
0.08820865 0.08673912 0.08498060 0.08290760 0.08049804 0.07773432
|
||||
0.07460443 0.07110308 0.06723265 0.06300412 0.05843780
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
0 0.44141586 14.56267126 268.53739949 2509.40591811 14676.43961763
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
5 0.41397667 12.04198740 210.11008942 1936.17081242 11276.59767973
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
10 0.33798098 5.55511615 61.63905157 483.02016362 2663.82243907
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
15 0.23022241 -2.16291316 -108.92447960 -1174.90468122 -7143.60132265
|
||||
|
||||
|
||||
THE VALUES OF H(RHO,TH) IN B
|
||||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||||
TH
|
||||
20 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
25 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
30 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
35 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
40 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
45 0.11237179 -7.96075825 -224.10072940 -2269.20240586 -13574.64010918
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
?BEGIN JOB BALGOL/EXAMPLE1; 00100100
|
||||
JOBSUMMARY=UNCONDITIONAL; 00100200
|
||||
PRINTDEFAULTS=(PRINTDISPOSITION=EOJ); 00100250
|
||||
00100300
|
||||
COMPILE OBJECT/BALGOL/EXAMPLE1 ALGOL GO; 00100400
|
||||
ALGOL FILE CARD=SRCE/DEMO/BALGOL/EXAMPLE1 ON OPS; 00100500
|
||||
OPTION=(FAULT,DSED,ARRAY); 00100600
|
||||
DATA INPUT 00100700
|
||||
.1, .2, .3, .4, .5, .6, .7, .8, .9, .10, .11, .12, .13, .14, .15, / 00100800
|
||||
.16, .17, .18, .19, .20, .21, .22, .23, .24, .25, .26, .27, .28, .29, / 00100900
|
||||
10, / NUMBER OF DIMENSIONS <= 25 00101000
|
||||
? END JOB 00999900
|
||||
172
software/BALGOL/BALGOL-Examples/Example-1-BALGOL-Typos.card
Normal file
172
software/BALGOL/BALGOL-Examples/Example-1-BALGOL-Typos.card
Normal file
@@ -0,0 +1,172 @@
|
||||
2 COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963.
|
||||
2 J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING
|
||||
2 PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES,
|
||||
2 USING ORTHONORMAL FUNCTIONS;
|
||||
2
|
||||
2 COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS
|
||||
2 AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A
|
||||
2 HARMONIC BOUNDARY-VALUE PROBLEM;
|
||||
2
|
||||
2 COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS;
|
||||
2
|
||||
2 INTEGER I, J, K, L, M, N, NU, TH;
|
||||
2 ARRAY R(29), HFN(29), DSUM(24), HFCN(5), HFCEN(6),
|
||||
2 FA(25,25), A(25,25), B(25,25), HA(47), HAA(24);
|
||||
2 INPUT DATA (FOR I=(1,1,29); R(I)), DIMEN(N);
|
||||
2 OUTPUT FRESULTS (FOR I=(1,1,N); FOR J=(1,1,N); FA(I,J)),
|
||||
2 ARESULTS (FOR I=(1,1,N); FOR J=(1,1,N); A(I,J)),
|
||||
2 BRESULTS (FOR I=(1,1,N); FOR J=(1,1,N); B(I,J)),
|
||||
2 COEFFS (FOR NU=(4,4,N-1); HA(2NU-1)),
|
||||
2 HFNRES (FOR K=(1,1,29); HFN(K)),
|
||||
2 CRES(CONST), HFCNRES (TH, FOR K=(115); HFNC(K)), <<TYPOS
|
||||
2 HFCENRES(TH, FOR K=(1,1,6); HFCEN(K));
|
||||
2 FORMAT VECTOR (B8,6F16.8,W0),
|
||||
2 FTITLE (B48,*FRESULTS,FA(I,J)*,W3,W2),
|
||||
2 ATITLE (B48,*ARESULTS,A(I,J)*,W3,W2),
|
||||
2 COEFTITLE (B30,*HA(8NU-1)*,W2),
|
||||
2 BDYVALUES (B42,*PRELIMINARY BOUNDARY VALUES*,W3,W2),
|
||||
2 CBDYVALUES (B43,*CORRECTED BOUNDARY VALUES*,W2),
|
||||
2 CONTITLE (B50,*CONSTANT*,W2),
|
||||
2 TABLE (B8,I2,B6,6F16.8,W0),
|
||||
2 TABLEHEAD (B40, *THE VALUES OF H(RHO,TH) IN B*, W3,W2),
|
||||
2 TABLELINE (B13,*RHO*,B6,*0.5*,B13,*1.0*,B13,*1.5*,B13,
|
||||
2 *2.0*,B13,*2.5*,B13,*3.0*,W0),
|
||||
2 TABLETH (B8,*TH*,W0);
|
||||
2 START..
|
||||
2 READ (;; DATA);
|
||||
2 RDIM..
|
||||
2 READ (;; DIMEN);
|
||||
2 FOR I = (1,1,N);
|
||||
2 FOR J = (I,4,N);
|
||||
2 BEGIN
|
||||
2 L = I-J; K = I+J;
|
||||
2 SUM = R(1)*K + 1.5R(18)*K.COS(0.59341195.L)
|
||||
2 + 0.5.R(29)*K.COS(0.78539816.L);
|
||||
2 FOR M = (2,1,17);
|
||||
2 SUM = SUM + 2.0.R(M)*K.COS((M-1).0.034906585.L);
|
||||
2 FOR M = (19,1,28);
|
||||
2 SUM = SUM + R(M)*K.COS((0.59341195 + (M-18).0.017453293).L);
|
||||
2 FA(I,J) = (8.0/K).0.017453293.SUM
|
||||
2 END;
|
||||
2 WRITE (;; FTITLE);
|
||||
2 WRITE (;; FRESULTS, VECTOR);
|
||||
2 FOR J - (1,1,N); <<TYPO
|
||||
2 B(1,J) = FA(1,J);
|
||||
2 FOR I = (2,1,N);
|
||||
2 BEGIN
|
||||
2 FOR J = (1,1,I-1);
|
||||
2 B(I,J = -B(J,I)/B(J,J); <<TYPO
|
||||
2 FOR J = (I,1,N);
|
||||
2 BEGIN
|
||||
2 B(I,J) = FA(I,J);
|
||||
2 FOR K = (1,1,I-1);
|
||||
2 B(I,J) = B(I,J) + B(I,K).B(K,J)
|
||||
2 END;
|
||||
2 FOR J = (1,1,I-1);
|
||||
2 B(I,J) = B(I,J).SQRT(B(J,J)/B(I,I))
|
||||
2 END;
|
||||
2 FOR I = (1,1,N);
|
||||
2 B(I,I) = 1.0/(SQRT(B(I,I)).I);
|
||||
2 WRITE (;; BTITLE); <<UNDEC
|
||||
2 WRITE (;; BRESULTS, VECTOR);
|
||||
2 FOR I = (1,1,N);
|
||||
2 FOR J = (1,1,N);
|
||||
2 A(I,J) = 0;
|
||||
2 A(1,1) = B(1,1);
|
||||
2 FOR I = (2,1,N);
|
||||
2 BEGIN
|
||||
2 FOR J= (1,1,I-1);
|
||||
2 BEGIN
|
||||
2 A(I,J) = 0;
|
||||
2 FOR K = (J,1,I-1);
|
||||
2 A(I,J) = A(I,J) + B(I,K).A(K,J)
|
||||
2 END;
|
||||
2 A(I,I) = B(I,I)
|
||||
2 END;
|
||||
2 WRITE (;; ATITLE);
|
||||
2 WRITE (;; ARESULT, VECTOR); <<TYPO
|
||||
2
|
||||
2 COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION;
|
||||
2
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 DSUM(J) = 0;
|
||||
2 FOR M = (1,1,17);
|
||||
2 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2).
|
||||
2 (R(M+1)*J.SIN(M.0.034906585.J)
|
||||
2 - R(M)*J.SIN((M-1).0.034906585.J));
|
||||
2 FOR M = (18,1,28);
|
||||
2 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2.(R(M+1)*J.
|
||||
2 SIN((0.59341195 + (M-17).0.017453293).J)
|
||||
2 - R(M)*J.SIN((0.59341195
|
||||
2 + (M-18).0.017453293).J)))
|
||||
2 END;
|
||||
2 FOR NU = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 HA(2NU-1) = 0;
|
||||
2 FOR J = (4,4,NU);
|
||||
2 HA(2NU-1) = HA(2NU-1) + A(NU,J).DSUM(J);
|
||||
2 HA(2NU-1) = 4.0.HA(2NU-1)
|
||||
2 END;
|
||||
2 WRITE (;; COEFTITLE);
|
||||
2 WRITE (;; COEFFS, VECTOR);
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 HAA(J) = 0;
|
||||
2 FOR NU = (J,4,N-1);
|
||||
2 HAA(J) = HAA(J) + HA(2NU-1).A(NU,J)
|
||||
2 END <<SEMI
|
||||
2 FOR M = (1,1,18);
|
||||
2 BEGIN
|
||||
2 HFN(M) = 0;
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 HFN(M) = HFN(M) + HAA(J).R(M)*J.COS((M-1).0.034906585.J)
|
||||
2 END;
|
||||
2 FOR M = (19,1,29);
|
||||
2 BEGIN
|
||||
2 HFN(M) = 0;
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 HFN(M) = HFN(M) + HAA(J).R(M)*J.
|
||||
2 COS((0.59341195 + (M-18).0.017453293).J)
|
||||
2 END;
|
||||
2 WRITE (;; BDYVALUES);
|
||||
2 WRITE (;; HFNRES, VECTOR);
|
||||
2 AVT = 0;
|
||||
2 FOR M = (1,1,29);
|
||||
2 AVT = AVT + R(M)*2 - HFN(M);
|
||||
2 CONST = AVT/29.0;
|
||||
2 WRITE (;; CONTITLE);
|
||||
2 WRITE (;; CRES, VECTOR);
|
||||
2 FOR M = (1,1,29);
|
||||
2 HFN(M) = CONST + HFN(M);
|
||||
2 WRITE (;; CBDYVALUES);
|
||||
2 WRITE (;; HFNRES, VECTOR);
|
||||
2 FOR I = (1,1,5);
|
||||
2 BEGIN
|
||||
2 TH = 5.(I-1);
|
||||
2 FOR J = (1,1,5);
|
||||
2 BEGIN
|
||||
2 HFCN(J) = CONST;
|
||||
2 FOR M = (4,4,N-1);
|
||||
2 HFCN(J) = HFCN(J) + HAA(M).(0.5.J)*M.COS((I-1).0.087266463.M)
|
||||
2 END;
|
||||
2 WRITE (;; TABLEHEAD);
|
||||
2 WRITE (;; TABLELINE);
|
||||
2 WRITE (;; TABLETH);
|
||||
2 WRITE (;; HFCNRES, TABLE)
|
||||
2 END;
|
||||
2 FOR I = (6,1,10);
|
||||
2 BEGIN
|
||||
2 TH = 5.(I-1);
|
||||
2 FOR J = (1,1,6);
|
||||
2 BEGIN
|
||||
2 HFCEN(J) = CONST;
|
||||
2 FOR M = (4,4,N-1);
|
||||
2 HFCEN(J) = FHCEN(J) + HAA(M).(0.5.J)*M. <<TYPO
|
||||
2 COS((I-1).0.087266463.M)
|
||||
2 END;
|
||||
2 WRITE (;; HFCNRES, TABLE)
|
||||
2 END;
|
||||
2 STOP 1234;
|
||||
2 GO TO RDIM;
|
||||
2 FINISH;
|
||||
173
software/BALGOL/BALGOL-Examples/Example-1-BALGOL.card
Normal file
173
software/BALGOL/BALGOL-Examples/Example-1-BALGOL.card
Normal file
@@ -0,0 +1,173 @@
|
||||
2 COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963.
|
||||
2 J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING
|
||||
2 PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES,
|
||||
2 USING ORTHONORMAL FUNCTIONS;
|
||||
2
|
||||
2 COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS
|
||||
2 AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A
|
||||
2 HARMONIC BOUNDARY-VALUE PROBLEM;
|
||||
2
|
||||
2 COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS;
|
||||
2
|
||||
2 INTEGER I, J, K, L, M, N, NU, TH;
|
||||
2 ARRAY R(29), HFN(29), DSUM(24), HFCN(5), HFCEN(6),
|
||||
2 FA(25,25), A(25,25), B(25,25), HA(47), HAA(24);
|
||||
2 INPUT DATA (FOR I=(1,1,29); R(I)), DIMEN(N);
|
||||
2 OUTPUT FRESULTS (FOR I=(1,1,N); FOR J=(1,1,N); FA(I,J)),
|
||||
2 ARESULTS (FOR I=(1,1,N); FOR J=(1,1,N); A(I,J)),
|
||||
2 BRESULTS (FOR I=(1,1,N); FOR J=(1,1,N); B(I,J)),
|
||||
2 COEFFS (FOR NU=(4,4,N-1); HA(2NU-1)),
|
||||
2 HFNRES (FOR K=(1,1,29); HFN(K)),
|
||||
2 CRES(CONST), HFCNRES (TH, FOR K=(1,1,5); HFCN(K)),
|
||||
2 HFCENRES(TH, FOR K=(1,1,6); HFCEN(K));
|
||||
2 FORMAT VECTOR (B8,6F16.8,W0),
|
||||
2 FTITLE (B48,*FRESULTS,FA(I,J)*,W3,W2),
|
||||
2 BTITLE (B48,*BRESULTS,B(I,J)*,W3,W2), *ADDED*
|
||||
2 ATITLE (B48,*ARESULTS,A(I,J)*,W3,W2),
|
||||
2 COEFTITLE (B30,*HA(8NU-1)*,W2),
|
||||
2 BDYVALUES (B42,*PRELIMINARY BOUNDARY VALUES*,W3,W2),
|
||||
2 CBDYVALUES (B43,*CORRECTED BOUNDARY VALUES*,W2),
|
||||
2 CONTITLE (B50,*CONSTANT*,W2),
|
||||
2 TABLE (B8,I2,B6,6F16.8,W0),
|
||||
2 TABLEHEAD (B40, *THE VALUES OF H(RHO,TH) IN B*, W3,W2),
|
||||
2 TABLELINE (B13,*RHO*,B6,*0.5*,B13,*1.0*,B13,*1.5*,B13,
|
||||
2 *2.0*,B13,*2.5*,B13,*3.0*,W0),
|
||||
2 TABLETH (B8,*TH*,W0);
|
||||
2 START..
|
||||
2 READ (;; DATA);
|
||||
2 RDIM..
|
||||
2 READ (;; DIMEN);
|
||||
2 FOR I = (1,1,N);
|
||||
2 FOR J = (I,4,N);
|
||||
2 BEGIN
|
||||
2 L = I-J; K = I+J;
|
||||
2 SUM = R(1)*K + 1.5R(18)*K.COS(0.59341195.L)
|
||||
2 + 0.5.R(29)*K.COS(0.78539816.L);
|
||||
2 FOR M = (2,1,17);
|
||||
2 SUM = SUM + 2.0.R(M)*K.COS((M-1).0.034906585.L);
|
||||
2 FOR M = (19,1,28);
|
||||
2 SUM = SUM + R(M)*K.COS((0.59341195 + (M-18).0.017453293).L);
|
||||
2 FA(I,J) = (8.0/K).0.017453293.SUM
|
||||
2 END;
|
||||
2 WRITE (;; FTITLE);
|
||||
2 WRITE (;; FRESULTS, VECTOR);
|
||||
2 FOR J = (1,1,N);
|
||||
2 B(1,J) = FA(1,J);
|
||||
2 FOR I = (2,1,N);
|
||||
2 BEGIN
|
||||
2 FOR J = (1,1,I-1);
|
||||
2 B(I,J) = -B(J,I)/B(J,J);
|
||||
2 FOR J = (I,1,N);
|
||||
2 BEGIN
|
||||
2 B(I,J) = FA(I,J);
|
||||
2 FOR K = (1,1,I-1);
|
||||
2 B(I,J) = B(I,J) + B(I,K).B(K,J)
|
||||
2 END;
|
||||
2 FOR J = (1,1,I-1);
|
||||
2 B(I,J) = B(I,J).SQRT(B(J,J)/B(I,I))
|
||||
2 END;
|
||||
2 FOR I = (1,1,N);
|
||||
2 B(I,I) = 1.0/(SQRT(B(I,I)).I);
|
||||
2 WRITE (;; BTITLE);
|
||||
2 WRITE (;; BRESULTS, VECTOR);
|
||||
2 FOR I = (1,1,N);
|
||||
2 FOR J = (1,1,N);
|
||||
2 A(I,J) = 0;
|
||||
2 A(1,1) = B(1,1);
|
||||
2 FOR I = (2,1,N);
|
||||
2 BEGIN
|
||||
2 FOR J= (1,1,I-1);
|
||||
2 BEGIN
|
||||
2 A(I,J) = 0;
|
||||
2 FOR K = (J,1,I-1);
|
||||
2 A(I,J) = A(I,J) + B(I,K).A(K,J)
|
||||
2 END;
|
||||
2 A(I,I) = B(I,I)
|
||||
2 END;
|
||||
2 WRITE (;; ATITLE);
|
||||
2 WRITE (;; ARESULTS, VECTOR);
|
||||
2
|
||||
2 COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION;
|
||||
2
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 DSUM(J) = 0;
|
||||
2 FOR M = (1,1,17);
|
||||
2 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2).
|
||||
2 (R(M+1)*J.SIN(M.0.034906585.J)
|
||||
2 - R(M)*J.SIN((M-1).0.034906585.J));
|
||||
2 FOR M = (18,1,28);
|
||||
2 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2.(R(M+1)*J.
|
||||
2 SIN((0.59341195 + (M-17).0.017453293).J)
|
||||
2 - R(M)*J.SIN((0.59341195
|
||||
2 + (M-18).0.017453293).J)))
|
||||
2 END;
|
||||
2 FOR NU = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 HA(2NU-1) = 0;
|
||||
2 FOR J = (4,4,NU);
|
||||
2 HA(2NU-1) = HA(2NU-1) + A(NU,J).DSUM(J);
|
||||
2 HA(2NU-1) = 4.0.HA(2NU-1)
|
||||
2 END;
|
||||
2 WRITE (;; COEFTITLE);
|
||||
2 WRITE (;; COEFFS, VECTOR);
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 BEGIN
|
||||
2 HAA(J) = 0;
|
||||
2 FOR NU = (J,4,N-1);
|
||||
2 HAA(J) = HAA(J) + HA(2NU-1).A(NU,J)
|
||||
2 END;
|
||||
2 FOR M = (1,1,18);
|
||||
2 BEGIN
|
||||
2 HFN(M) = 0;
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 HFN(M) = HFN(M) + HAA(J).R(M)*J.COS((M-1).0.034906585.J)
|
||||
2 END;
|
||||
2 FOR M = (19,1,29);
|
||||
2 BEGIN
|
||||
2 HFN(M) = 0;
|
||||
2 FOR J = (4,4,N-1);
|
||||
2 HFN(M) = HFN(M) + HAA(J).R(M)*J.
|
||||
2 COS((0.59341195 + (M-18).0.017453293).J)
|
||||
2 END;
|
||||
2 WRITE (;; BDYVALUES);
|
||||
2 WRITE (;; HFNRES, VECTOR);
|
||||
2 AVT = 0;
|
||||
2 FOR M = (1,1,29);
|
||||
2 AVT = AVT + R(M)*2 - HFN(M);
|
||||
2 CONST = AVT/29.0;
|
||||
2 WRITE (;; CONTITLE);
|
||||
2 WRITE (;; CRES, VECTOR);
|
||||
2 FOR M = (1,1,29);
|
||||
2 HFN(M) = CONST + HFN(M);
|
||||
2 WRITE (;; CBDYVALUES);
|
||||
2 WRITE (;; HFNRES, VECTOR);
|
||||
2 FOR I = (1,1,5);
|
||||
2 BEGIN
|
||||
2 TH = 5.(I-1);
|
||||
2 FOR J = (1,1,5);
|
||||
2 BEGIN
|
||||
2 HFCN(J) = CONST;
|
||||
2 FOR M = (4,4,N-1);
|
||||
2 HFCN(J) = HFCN(J) + HAA(M).(0.5.J)*M.COS((I-1).0.087266463.M)
|
||||
2 END;
|
||||
2 WRITE (;; TABLEHEAD);
|
||||
2 WRITE (;; TABLELINE);
|
||||
2 WRITE (;; TABLETH);
|
||||
2 WRITE (;; HFCNRES, TABLE)
|
||||
2 END;
|
||||
2 FOR I = (6,1,10);
|
||||
2 BEGIN
|
||||
2 TH = 5.(I-1);
|
||||
2 FOR J = (1,1,6);
|
||||
2 BEGIN
|
||||
2 HFCEN(J) = CONST;
|
||||
2 FOR M = (4,4,N-1);
|
||||
2 HFCEN(J) = HFCEN(J) + HAA(M).(0.5.J)*M.
|
||||
2 COS((I-1).0.087266463.M)
|
||||
2 END;
|
||||
2 WRITE (;; HFCNRES, TABLE)
|
||||
2 END;
|
||||
2 STOP 1234;
|
||||
2 GO TO RDIM;
|
||||
2 FINISH;
|
||||
@@ -179,7 +179,7 @@
|
||||
01 86 0 0182 D HLT 0 EXPONENT OF NUMBER
|
||||
01 87 0 0183 WRTF RTF 4 *,0 RECORD TRANSFER CONSTANT FOR WRITE SUBROUTINE
|
||||
01 88 0 0184 DESCR HLT 0 OUTPUT INSTRUCTION
|
||||
01 89 0 0185 EXPLN HLT 0 SYMBOL ADDRESSES OF INSTRUCTION
|
||||
01 89 0 0185 EXPLN HLT 0 SYMBOLIC ADDRESSES OF INSTRUCTION
|
||||
01 90 0 0186 DEX HLT 0 CURRENT CONTENTS OF B REGISTER
|
||||
01 91 0 0187 FP HLT 0 FRACTIONAL PART OF CONSTANT
|
||||
01 92 0 0188 FRSTP HLT 0 1ST PARAMETER TO PROCEDURE DECLARATION
|
||||
@@ -564,7 +564,7 @@
|
||||
05 71 0 0572 CADX1 CNST 00000100004 03
|
||||
5 72 0 0573 CADF1 CNST 00000100005 04
|
||||
05 73 0 0574 CADL1 CNST 60000100001 05
|
||||
05 74 0 0575 CSUV1 CNST 00000110001 06 SIGN OF -,1, OR 3..
|
||||
05 74 0 0575 CSUV1 CNST 00000110001 06 SIGN OF 0,1, OR 3..
|
||||
05 75 0 0576 CSUV2 CNST 00000110002 07 ADDRESS I IS TO BE REPLACED BY
|
||||
05 76 0 0577 ADDV1 CNST 00000120001 08 V(I) AND IF V(I) IS AN
|
||||
05 77 0 0578 ADDV2 CNST 00000120002 09 ARRAY WE MUST ALSO COMPUTE
|
||||
@@ -604,7 +604,7 @@
|
||||
6 11 0 0612 BUN3V CNST 00000300003 43
|
||||
6 12 0 0613 BUNL2 CNST 60000300002 44
|
||||
06 13 0 0614 BSALN CNST 60001330003 45
|
||||
06 14 0 0615 BSALT CNST 60000330003 46
|
||||
06 14 0 0615 BSALP CNST 60000330003 46
|
||||
06 15 0 0616 BZAL2 CNST 60000360002 47
|
||||
06 16 0 0617 BZAL3 CNST 60000360003 48
|
||||
06 17 0 0618 BZAL4 CNST 60000360004 49
|
||||
@@ -649,13 +649,13 @@
|
||||
06 56 0 0657 BUNFR CNST 80000309999 88
|
||||
06 57 0 0658 STPA F4244 0,44,LODOX 89
|
||||
06 58 0 0659 BUNA F4244 0,30,LODOV 90
|
||||
06 59 0 0660 BFILR CNST 60101360002 91
|
||||
06 59 0 0660 BF1LR CNST 60101360002 91
|
||||
06 60 0 0661 BUNFB CNST 90000309999 92
|
||||
06 61 0 0662 STPFR CNST 80000449999 93
|
||||
06 62 0 0663 STAT3 CNST 10000400003 94
|
||||
6 63 0 0664 LDBV9 CNST 00000420009 95
|
||||
6 64 0 0665 CSUV4 CNST 00000110004 96
|
||||
06 65 0 0666 CLR0 CNST 40002450000 97
|
||||
06 65 0 0666 CLRO CNST 40002450000 97
|
||||
06 66 0 0667 BOF2 CNST 61111310002 98
|
||||
|
||||
MACRO-OPERATION TABLES
|
||||
@@ -676,8 +676,8 @@
|
||||
06 83 0 0681 CNST 21700000000 + A V- F FSUV2
|
||||
06 84 0 0682 CNST 41700000000 + A- V F- FSUV2
|
||||
06 85 0 0683 CNST 41200000000 + A- V- F- FADV2
|
||||
06 86 0 0684 CNST 21100000000 + V A F FADV2
|
||||
06 87 0 0685 CNST 41600000000 + V A- F- FSUB1
|
||||
06 86 0 0684 CNST 21100000000 + V A F FADV1
|
||||
06 87 0 0685 CNST 41600000000 + V A- F- FSUV1
|
||||
06 88 0 0686 CNST 21600000000 + V- A F FSUV1
|
||||
06 89 0 0687 CNST 41100000000 + V- A- F- FADV1
|
||||
06 90 0 0688 CNST 20112000000 + V V F CADV1 FADV2
|
||||
@@ -729,7 +729,7 @@
|
||||
07 36 0 0734 CNST 42000000000 . V- A F- FMUV1
|
||||
07 37 0 0735 CNST 22000000000 . V- A- F FMUV1
|
||||
07 38 0 0736 CNST 20220000000 . V V F CADV2 FMUV1
|
||||
07 39 0 0737 CNST 20720000000 . V F- F CSUV2 FMUV1
|
||||
07 39 0 0737 CNST 20720000000 . V V- F CSUV2 FMUV1
|
||||
07 40 0 0738 CNST 20720000000 . V- V F CUSV2 FMUV1
|
||||
07 41 0 0739 CNST 20220000000 . V- V- F CADV2 FMUV1
|
||||
|
||||
@@ -820,12 +820,12 @@
|
||||
08 27 0 0817 CNST 7284007200 (IMPOSSIBLE CASE)
|
||||
08 28 0 0818 CNST 1224213400 FA XV
|
||||
08 29 0 0819 CNST 3300000000 FA FV I=1 OR I=2..
|
||||
08 30 0 0820 CNST 2623330000 FA XC J=1 FLAOT V(I)
|
||||
08 30 0 0820 CNST 2623330000 FA XC J=1 FLOAT V(I)
|
||||
08 31 0 0821 CNST 2633000000 FA FC J=2 STORE V(I) IN TEMP
|
||||
08 32 0 0822 CNST 3100000000 XV XA J=3 FLOAT CONSTANT V(I)
|
||||
008 33 0 0823 CNST 2214113300 XV FA J=4 BRING V(I) INTO A REGISTER
|
||||
008 34 0 0824 CNST 3200000000 XV XV J=5 CALC CONST OP CONST$ I=TYPE
|
||||
008 35 0 0825 CNST 1411330000 XV FV J=6 CHECK IF V(I)=SPACIAL CONST
|
||||
008 35 0 0825 CNST 1411330000 XV FV J=6 CHECK IF V(I)=SPECIAL CONST
|
||||
08 36 0 0826 CNST 2632000000 XV XC
|
||||
08 37 0 0827 CNST 1411263300 XV FC
|
||||
08 38 0 0828 CNST 2134000000 FV XA I=3..
|
||||
@@ -863,7 +863,7 @@
|
||||
08 70 0 0856 SCN3 DEFN *
|
||||
08 71 0 0856 STFOL CLB
|
||||
08 72 0 0857 CAD CHAR SET K2 TO THE CODE FOR THIS CHARACTER
|
||||
08 73 0 0858 DBB 0,999
|
||||
08 73 0 0858 DBB 0,9999
|
||||
08 74 0 0859 BFA C+,91,8 NUMBER 1
|
||||
08 75 0 0860 CFA FORTY,02 ALPHA 0
|
||||
08 76 0 0861 BCH D+ ) 2
|
||||
@@ -1033,7 +1033,7 @@
|
||||
010 40 0 1019 BUN I-
|
||||
010 41 0 1020 *S IFL - 0,11,5 IN ARRAY DECLARATION, MARK THE PRESENT
|
||||
010 42 0 1021 STP FRMEX SYMBOL AS AN ARRAY AND SEND IT AND AN
|
||||
010 43 0 1022 BUN FRME ARRAY-DECLARATION OPERATOR TOEXECUTOR
|
||||
010 43 0 1022 BUN FRME ARRAY-DECLARATION OPERATOR TO EXECUTOR
|
||||
010 44 0 1023 CAD CWARD
|
||||
010 45 0 1024 BUN SCN5
|
||||
010 46 0 1025 *K SLT 0 IF IT IS A LABEL, THE MODE MUST
|
||||
@@ -1056,7 +1056,7 @@
|
||||
010 63 0 1042 IFL M-,62,29 LABEL ITSELF TO EXECUTOR INSTEAD
|
||||
010 64 0 1043 STP FRMEX
|
||||
010 65 0 1044 BUN FRME
|
||||
010 66 0 1045 SC7 BUN SC7
|
||||
010 66 0 1045 SC7 BUN SCN7
|
||||
|
||||
|
||||
010 69 0 1046 R3K LDR SYMBL AP
|
||||
@@ -1074,7 +1074,7 @@
|
||||
010 81 0 1058 STA TEMP3,11
|
||||
010 82 0 1059 DFL TEMP3,22,22
|
||||
010 83 0 1060 CAD SSC PUT PREFIX CODE INTO PR3-STACK
|
||||
010 84 0 1061 SLA 4
|
||||
010 84 0 1061 SLA 4 IN ALPHABETICAL ORDER
|
||||
010 85 0 1062 STA TEMP3,64
|
||||
010 86 0 1063 LDB SSC
|
||||
010 87 0 1064 CAD SYMBL
|
||||
@@ -1145,14 +1145,14 @@
|
||||
011 52 0 1114 R10 CAD RPAR )(
|
||||
011 53 0 1115 STP SCAN
|
||||
011 54 0 1116 BUN EXCTR ) TO EXECUTOR
|
||||
011 55 0 1117 BUN R19P
|
||||
011 55 0 1117 BUN R19P IMPLIED MULTIPLICATION
|
||||
|
||||
|
||||
011 58 0 1118 R11 STP ALPLX A-
|
||||
011 59 0 1119 BUN ALPLU LEFTHAND SYMBOL MUST BE A SIMPLE VARIABLE
|
||||
011 60 0 1120 BFA D+,11,0
|
||||
011 61 0 1121 BFA C+,11,1
|
||||
011 62 0 1122 BFA R2P,11,7
|
||||
011 62 0 1122 BFA R2P,11,7 OR A RESERVED WORD
|
||||
011 63 0 1123 CLL TAG
|
||||
011 64 0 1124 STP WEMX
|
||||
011 65 0 1125 BUN WEM,C+
|
||||
@@ -1170,9 +1170,9 @@
|
||||
|
||||
|
||||
|
||||
011 80 0 1134 R13 CLL K BLANK K
|
||||
011 80 0 1134 R13 CLL K BLANK A
|
||||
011 81 0 1135 STB SW1,62
|
||||
011 82 0 1136 IFL SW1,61,01 PREPARE TO BUILD AN IDENTIFIER
|
||||
011 82 0 1136 IFL SW1,62,01 PREPARE TO BUILD AN IDENTIFIER
|
||||
011 83 0 1137 LDB SBL
|
||||
011 84 0 1138 CLL SYMBL
|
||||
011 85 0 1139 RTF SYMBL,9
|
||||
@@ -1225,8 +1225,8 @@
|
||||
012 32 0 1178 BUN SCN5
|
||||
|
||||
|
||||
012 35 0 1179 R20 STP PASSX N.
|
||||
012 36 0 1180 BUN PASS
|
||||
012 35 0 1179 R20 STP PASSX N. ORIG. INPTX
|
||||
012 36 0 1180 BUN PASS ORIG. INPT
|
||||
012 37 0 1181 LDR CHAR IF THE NEXT CHARATER IS A DOT,WE HAVE
|
||||
012 38 0 1182 BFR R17R,02,03 A STATEMENT LABEL.
|
||||
012 39 0 1183 BFR C+,91,08 OTHERWISE IF ITS NOT NUMBERIC
|
||||
@@ -1309,7 +1309,7 @@
|
||||
013 16 0 1249 LDB FUNS
|
||||
013 17 0 1250 IFL - 0,12,10 INCREASE THE SEMICOLON COUNT
|
||||
013 18 0 1251 CAD - 0
|
||||
013 19 0 1252 IFL OMCRN,00,I
|
||||
013 19 0 1252 IFL OMCRN,00,1
|
||||
013 20 0 1253 BSA SCN1,2
|
||||
013 21 0 1254 IFL TAG,00,1
|
||||
013 22 0 1255 BUN SCN1
|
||||
@@ -1370,7 +1370,7 @@
|
||||
013 77 0 1305 TRTGX BUN * STATEMENTS IN ITS SCOPE
|
||||
013 78 0 1306 STP CMPLX
|
||||
013 79 0 1307 BUN WMG,CRM COMPILE CIRCL-M (THIS WILL COME UP
|
||||
013 80 0 1308 IFL MU,62,29 WHEN THE SCOPE OF THELABEL IS ENDED)
|
||||
013 80 0 1308 IFL MU,62,29 WHEN THE SCOPE OF THE LABEL IS ENDED)
|
||||
013 81 0 1309 BUN TRTGX
|
||||
|
||||
|
||||
@@ -1775,7 +1775,7 @@
|
||||
017 82 0 1682 WEM CLL MSG WRITE ERROR MESSAGE
|
||||
017 83 0 1683 LDB C+
|
||||
017 84 0 1684 IFL MSG,12,20
|
||||
017 85 0 1685 RTF MSG,6
|
||||
017 85 0 1685 RTF MSG,6 CLEAR MESSAGE BUFFER
|
||||
017 86 0 1686 CLL TEMP
|
||||
017 87 0 1687 WEMX CAD *
|
||||
017 88 0 1688 *E CLR 0000
|
||||
@@ -1976,7 +1976,7 @@
|
||||
019 83 0 1854 STA BREF,64
|
||||
019 84 0 1855 STP CMPLX PUT OUT A BACKWARD REFERENCE OPERATOR,
|
||||
019 85 0 1856 BUN WMG,BREF TO THE PRESENT LOCATION
|
||||
019 86 0 1857 CAD CRU COMPILE A CIRCLE-U OPERATOR
|
||||
019 86 0 1857 CAD CRU COMPILE A CIRCLE-U OPERATION
|
||||
019 87 0 1858 *A IFL DELTA,22,1
|
||||
019 88 0 1859 BUN EXIT
|
||||
|
||||
@@ -2164,7 +2164,7 @@
|
||||
021 71 0 2020 *F STP WEMX
|
||||
021 72 0 2021 BUN WEM,A+
|
||||
021 73 0 2022 CNST 30147000000 IMPROPER SUBSCRIPT
|
||||
021 74 0 2023 DEL0 STP SEMIX SEMICOLON IS )(
|
||||
021 74 0 2023 DEL0 STP SEMIX SEMICOLON IS )(
|
||||
021 75 0 2024 BUN SEMIC
|
||||
021 76 0 2025 DEL4 STP REMX,OPRND ARE THERE ANY OPERANDS ON THE STACK
|
||||
021 77 0 2026 BUN REM,E- IF SO THEY HAD BETTER BE ACCUM SYMBOLS
|
||||
@@ -2264,7 +2264,7 @@
|
||||
022 71 0 2102 BFA C+,02,23 COMMA
|
||||
022 72 0 2103 BFA S+,02,14 STAR
|
||||
022 73 0 2104 BFA R+,02,04 RIGHT PARENTHESIS
|
||||
022 74 0 2105 STR 2
|
||||
022 74 0 2105 SRT 2
|
||||
022 75 0 2106 CAD DESCR
|
||||
022 76 0 2107 SLT 7
|
||||
022 77 0 2108 STA INSTR,55 INSERT NUMBER(33 FIELD)ALPHA(52FIELD)
|
||||
@@ -2392,7 +2392,7 @@
|
||||
023 99 0 2220 BUN INS REFERENCE TOTHIS INCREMENT WORD, WHICH
|
||||
024 00 0 2221 LDB OPRND IS INITIALIZED TO V 5 R 0000 AAAA
|
||||
024 01 0 2222 DLB - 0,64,0 V=0 NORMAL V=1 CALL BY NAME V=2 MONITOR
|
||||
024 02 0 2223 LDR - 0 R-0 FLOATING R=1 FIXED
|
||||
024 02 0 2223 LDR - 0 R=0 FLOATING R=1 FIXED
|
||||
024 03 0 2224 *A STR *,23 AAAA=LOCATION OF OTHER INFORMATION
|
||||
024 04 0 2225 *B STB *,08
|
||||
024 05 0 2226 LDB OPRND
|
||||
@@ -2406,7 +2406,7 @@
|
||||
024 13 0 2234 BUN VRBL INTO THE INPUT STRING
|
||||
024 14 0 2235 CAD PLUS
|
||||
024 15 0 2236 IFL PHI,00,1 FINALLY, SET UP TO IGNORE THE LEFT
|
||||
024 16 0 2237 BUN EXIT
|
||||
024 16 0 2237 BUN EXIT PARENTHESIS WE LL GET NEXT FROM SCANNER.
|
||||
|
||||
|
||||
024 19 0 2238 NDXCM STP PRSBX,CRY COMMA IN SUBSCRIPT POSITION.
|
||||
@@ -2673,7 +2673,7 @@
|
||||
026 80 0 2481 BUN INPT
|
||||
026 81 0 2482 *A IFL V2,00,2
|
||||
026 82 0 2483 *B DFL V2,00,1
|
||||
026 83 0 2484 BRP INPUT
|
||||
026 83 0 2484 BRP INPT
|
||||
026 84 0 2485 *C BUN *
|
||||
|
||||
|
||||
@@ -2744,7 +2744,7 @@
|
||||
027 51 0 2531 ARACM STP NULSX ARRAY DECLARATION COMMA SENSED
|
||||
027 52 0 2532 BUN NULSB TREAT AS )( BUT PRESERVE ARRAY MODE
|
||||
027 53 0 2533 LDB IOTA
|
||||
027 54 0 2534 IBB NORM,9999 IF THIS IS A COMMA BETWEEN DIMENSINOS,
|
||||
027 54 0 2534 IBB NORM,9999 IF THIS IS A COMMA BETWEEN DIMENSIONS,
|
||||
027 55 0 2535 CAD CRG IT IS A CIRCLE-G OPERATOR
|
||||
027 56 0 2536 BUN EXIT
|
||||
|
||||
@@ -2755,7 +2755,7 @@
|
||||
|
||||
|
||||
|
||||
027 65 0 2539 SEMIC STP CMPLX SEMICOLON IS THOUGHT OF A )(
|
||||
027 65 0 2539 SEMIC STP CMPLX SEMICOLON IS THOUGHT OF AS )(
|
||||
027 66 0 2540 BUN RIGHT
|
||||
027 67 0 2541 STP CMPLX THIS INNOCENT-LOOKING THING MAY CAUSE
|
||||
027 68 0 2542 BUN LEFT ALL SORTS OF THINGS TO HAPPEN.
|
||||
@@ -3003,13 +3003,13 @@
|
||||
030 10 0 2758 LDR - V SIGN IS 0,1,2, OR 3
|
||||
030 11 0 2759 BFR D+,11,5
|
||||
030 12 0 2760 *E STP LASMX IN ORDINARY CASES, GO TO THE
|
||||
030 13 0 2761 BUN LASMB LITTLE ASSEMBLER.
|
||||
030 13 0 2761 BUN LASMB LITTLE ASSEMBLER.
|
||||
030 14 0 2762 BUN ASMBX
|
||||
030 15 0 2763 *D DLB - V,64,0 WHOOPS, ITS AN ARRAY NAME.
|
||||
030 16 0 2764 LDR - 0 WE PROBABLY HAVE TO GET ITS INDEX
|
||||
030 17 0 2765 STA GP IN REGISTER B
|
||||
030 18 0 2766 BFR F+,11,7 IF THE ARRAY HAS ALREADY BEEN INDEXED,
|
||||
030 19 0 2767 BFR E-,11,5 SKIP THIS PHASE, IF THE SUBSCRIPT IS
|
||||
030 19 0 2767 BFR E-,11,5 SKIP THIS PHASE. IF THE SUBSCRIPT IS
|
||||
030 20 0 2768 IFL - 0,11,1 CONSTANT,GO TO LITTLE ASSEMBLER
|
||||
030 21 0 2769 STB TEMP
|
||||
030 22 0 2770 LDB - 0 GET THE SUBSCRIPT VALUE
|
||||
@@ -3243,7 +3243,7 @@
|
||||
032 50 0 2988 BSA GEN3,1 SPECIAL BINARY OP
|
||||
032 51 0 2989 BSA GRELN,8 RELATIONAL OP
|
||||
032 52 0 2990 BFA A+,64,0
|
||||
032 53 0 2991 GENAG STP ARTHX PLUS TIME OR DIVIDE, ETC.
|
||||
032 53 0 2991 GENAG STP ARTHX PLUS TIMES OR DIVIDE, ETC.
|
||||
032 54 0 2992 BUN ARTHG
|
||||
032 55 0 2993 CAD ACCUM
|
||||
032 56 0 2994 BUN GENXX
|
||||
@@ -3745,7 +3745,7 @@
|
||||
037 52 0 3440 *A STB V1,11 IF A CONSTANT, ADD OR SUBTRACT ITS
|
||||
037 53 0 3441 DLB V1,64,0 VALUE FROM THE ASSIGNMENT OF V2,MOD 10000
|
||||
037 54 0 3442 LDR - 1
|
||||
037 55 0 3443 STR 0
|
||||
037 55 0 3443 SRT 0
|
||||
037 56 0 3444 SLT 14
|
||||
037 57 0 3445 EXT EX42 (-11110000)
|
||||
037 58 0 3446 DLB V2,64,00
|
||||
@@ -4173,8 +4173,8 @@
|
||||
041 80 0 3813 STA J,01
|
||||
041 81 0 3814 BFA ARTHC,91,3 TO ARTHC IF THIS IS THE LAST ENTRY
|
||||
041 82 0 3815 SRT 1
|
||||
041 83 0 3816 STA 1
|
||||
041 84 0 3817 LDB 1
|
||||
041 83 0 3816 STA I
|
||||
041 84 0 3817 LDB I
|
||||
041 85 0 3818 BFR J1,11,1 FLOAT OPERAND V(I)
|
||||
041 86 0 3819 BFR J2,11,2 STORE V(I) IN TEMP
|
||||
041 87 0 3820 BFR J3,11,3 FLOAT CONSTANT V(I)
|
||||
@@ -4184,7 +4184,7 @@
|
||||
041 91 0 3824 J1 DLB TABSC+82,64,0
|
||||
041 92 0 3825 STP LINKX CALL IN FLOAT SUBROUTINE
|
||||
041 93 0 3826 BUN LINK1
|
||||
041 94 0 3827 LDB 1
|
||||
041 94 0 3827 LDB I
|
||||
041 95 0 3828 STB - V,21 FLOAT V(I)
|
||||
041 96 0 3829 BUN ARTHA
|
||||
041 97 0 3830 J2 STP ACCX STORE V(I) IN TEMP
|
||||
@@ -4227,7 +4227,7 @@
|
||||
042 34 0 3867 BUN ARTHB
|
||||
042 35 0 3868 *B CFR SOLD,67
|
||||
042 36 0 3869 BCU ARTHA
|
||||
042 37 0 3870 SCNXX CLR CLR,FDB
|
||||
042 37 0 3870 SCNXX CLR CLR,FDV
|
||||
042 38 0 3871 FDV TEMP2
|
||||
042 39 0 3872 BUN ARTHB
|
||||
042 40 0 3873 *X IFL RR0,21,1
|
||||
@@ -4264,7 +4264,7 @@
|
||||
042 71 0 3904 BPA X+
|
||||
042 72 0 3905 LDR OPRTN
|
||||
042 73 0 3906 BFR X+,21,0
|
||||
042 74 0 3907 LBC 1
|
||||
042 74 0 3907 LBC I
|
||||
042 75 0 3908 CSU - V3
|
||||
042 76 0 3909 STA - V3
|
||||
042 77 0 3910 LDB I
|
||||
@@ -4277,7 +4277,7 @@
|
||||
042 84 0 3917 BCE D+ IS IT 1.0
|
||||
042 85 0 3918 *Q CAB
|
||||
042 86 0 3919 DBB 0,9999 IS IT 10,100,1000,...,1000000000
|
||||
042 87 0 3920 SLT 10
|
||||
042 87 0 3920 SLT 19
|
||||
042 88 0 3921 BFA *-2,11,0
|
||||
042 89 0 3922 SLT 1
|
||||
042 90 0 3923 CFR XONE+1,00
|
||||
@@ -4364,7 +4364,7 @@
|
||||
043 71 0 4004 ARTHX BUN *
|
||||
|
||||
|
||||
043 74 0 4005 LINK1 LDR - I
|
||||
043 74 0 4005 LINK1 LDR - 1
|
||||
043 75 0 4006 STR EXPLN
|
||||
043 76 0 4007 LINK STP LIBRX MAKE SURE LIBRARY ROUTINE IS IN STORAGE
|
||||
043 77 0 4008 BUN LIBRF
|
||||
@@ -4451,7 +4451,7 @@
|
||||
044 58 0 4079 CAD WRTF
|
||||
044 59 0 4080 CFA PREV,04
|
||||
044 60 0 4081 BCH A+ IF WE CAN FIX UP THE INSTRUCTION WHILE
|
||||
044 61 0 4082 CAD - BUF+I IT SITS IN TEH OUTPUT BUFFER, WE WILL
|
||||
044 61 0 4082 CAD - BUF+1 IT SITS IN THE OUTPUT BUFFER, WE WILL
|
||||
044 62 0 4083 BFA A+,04,0 DO IT DIRECTLY
|
||||
044 63 0 4084 CFA WRTF,04
|
||||
044 64 0 4085 BCH A+
|
||||
@@ -4596,8 +4596,8 @@
|
||||
046 03 0 4219 F244 30,100,30
|
||||
046 04 0 4220 F244 30,100,40 THE 64-FIELDS OF THESE CODES
|
||||
046 05 0 4221 F244 30,100,50 ARE FIXED UP TO THE NUMBER
|
||||
046 06 0 4222 FIX F244 31,100,60 OF LOCATIONS USED BY THE ROUTINES.
|
||||
046 07 0 4223 CNST $FIX$
|
||||
046 06 0 4222 FIX F244 31,100,60 OF LOCATIONS USED BY THE ROUTINES,
|
||||
046 07 0 4223 CNST $FIX$ THE THE LIBRARY PROCESSOR.
|
||||
046 08 0 4224 FLOAT F244 30,100,71
|
||||
046 09 0 4225 CNST $FLOAT$
|
||||
046 10 0 4226 MONTR F244 30,100,80
|
||||
@@ -4608,7 +4608,7 @@
|
||||
046 15 0 4231 DUMPR F244 40,DMPER,0
|
||||
046 16 0 4232 RITE F244 30,10,0
|
||||
046 17 0 4233 REED F244 30,10,0
|
||||
046 18 0 4234 SCNT DEFN *
|
||||
046 18 0 4234 SCNT DEFN * THE BEGINNING OF ASSOCIATIVE MEMORY
|
||||
|
||||
046 20 0 4234 LOCN 4500
|
||||
046 21 0 4500 STACK CRF 4 FR1+28,21,RLO INITIALIZATION OF THE PROGRAM
|
||||
|
||||
Binary file not shown.
@@ -12,7 +12,7 @@ format, with carriage-return/line-feed delimiters.
|
||||
|
||||
BALGOL-Generator.bacg
|
||||
Assembly listing of the BALGOL comiler-generator program,
|
||||
transcribed by Paul Kimpel from
|
||||
transcribed by Paul Kimpel from:
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
This program is written using a different assembly language than the
|
||||
@@ -20,10 +20,11 @@ BALGOL-Generator.bacg
|
||||
|
||||
BALGOL-Main.baca
|
||||
Assembly listing of the BALGOL compiler main-line module,
|
||||
transcribed by Paul Kimpel from
|
||||
transcribed by Paul Kimpel from:
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
This transcription reflects the corrections hand-coded on the listing.
|
||||
This transcription reflects the corrections hand-coded on the
|
||||
listing.
|
||||
|
||||
BALGOL-Main.card
|
||||
Card-image input deck of BALGOL-Main.baca prepared for input to the
|
||||
@@ -31,10 +32,11 @@ BALGOL-Main.card
|
||||
|
||||
BALGOL-Overlay.baca
|
||||
Assembly listing of the BALGOL compiler overlay module, transcribed
|
||||
by Paul Kimpel from
|
||||
by Paul Kimpel from:
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
This transcription reflects the corrections hand-coded on the listing.
|
||||
This transcription reflects the corrections hand-coded on the
|
||||
listing.
|
||||
|
||||
BALGOL-Overlay.card
|
||||
Card-image input deck of BALGOL-Overlay.baca prepared for input to
|
||||
@@ -42,11 +44,22 @@ BALGOL-Overlay.card
|
||||
|
||||
BALGOL-Intrinsics/
|
||||
Assembly listings (.baca) and input card decks (.card) for the
|
||||
BALGOL intrinsic function library, transcribed by Paul Kimpel from
|
||||
BALGOL intrinsic function library, transcribed by Paul Kimpel from:
|
||||
http://archive.computerhistory.org/resources/text/Knuth_Don_X4100/
|
||||
PDF_index/k-1-pdf/k-1-u2196-balgol220compiler.pdf.
|
||||
These transcriptions reflect some notations and corrections hand-
|
||||
coded on the listings.
|
||||
|
||||
BALGOL-Examples/
|
||||
Sample BALGOL programs transcribed from Section 11 of the BAC-220
|
||||
Burroughs Algebraic Compiler manual, revised edition, March 1963,
|
||||
Burroughs document 220-21017, available at:
|
||||
http://bitsavers.org/pdf/burroughs/electrodata/220/
|
||||
220-21017_B220_BALGOL_Mar63.pdf.
|
||||
A sub-folder contains copies of these programs converted to run on
|
||||
the Burroughs B5500 (retro-b5500 emulator) and modern Unisys
|
||||
ClearPath MCP (E-mode) systems.
|
||||
|
||||
Paul Kimpel
|
||||
January 2017
|
||||
March 2017
|
||||
|
||||
|
||||
@@ -70,6 +70,11 @@ DIV.heading {
|
||||
padding: 0;
|
||||
vertical-align: top}
|
||||
|
||||
#OptionsPanel {
|
||||
position: relative;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px}
|
||||
|
||||
#CRFileSelector {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
@@ -79,7 +84,7 @@ DIV.heading {
|
||||
|
||||
#TextPanel {
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
top: 90px;
|
||||
left: 0;
|
||||
bottom: 200px;
|
||||
width: 640px;
|
||||
@@ -109,6 +114,14 @@ DIV.heading {
|
||||
<input id=CRFileSelector type=file size=90>
|
||||
</div>
|
||||
|
||||
<div id=OptionsPanel>
|
||||
<input id=Pass1ListCheck type=checkbox value=1>
|
||||
<label for=Pass1ListCheck>Pass 1 Listing</label>
|
||||
|
||||
<input id=Pass2ListCheck type=checkbox value=1 CHECKED>
|
||||
<label for=Pass2ListCheck>Pass 2 Listing</label>
|
||||
</div>
|
||||
|
||||
<div id=TextDiv>
|
||||
<pre id=TextPanel></pre>
|
||||
</div>
|
||||
@@ -125,6 +138,9 @@ window.addEventListener("load", function() {
|
||||
var bufferOffset = 0;
|
||||
var eolRex = /([^\n\r\f]*)((:?\r[\n\f]?)|\n|\f)?/g;
|
||||
|
||||
var pass1List = false;
|
||||
var pass2List = true;
|
||||
|
||||
var panel = $$("TextPanel");
|
||||
var rTrimRex = /\s*$/;
|
||||
var sprintLimit = 100; // cards processed before yielding control
|
||||
@@ -1703,16 +1719,19 @@ window.addEventListener("load", function() {
|
||||
/* Prints a line of output from Pass 1 of the assembly to the text panel */
|
||||
var text; // formatted line image
|
||||
|
||||
if (opCode === null) {
|
||||
text = padRight(" ", 8+5+4+3, " ");
|
||||
} else {
|
||||
text = padLeft(seq, 8, " ") + " " + padLeft(location, 4, "0") + " ";
|
||||
}
|
||||
if (pass1List) {
|
||||
if (opCode === null) {
|
||||
text = padRight(" ", 8+5+4+3, " ");
|
||||
} else {
|
||||
text = padLeft(seq, 8, " ") + " " + padLeft(location, 4, "0") + " ";
|
||||
}
|
||||
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) +
|
||||
padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1894,7 +1913,9 @@ window.addEventListener("load", function() {
|
||||
|
||||
dumpErrorTank();
|
||||
printLine("END OF PASS 1, ERRORS = " + errorCount);
|
||||
dumpSymbolTable();
|
||||
if (pass1List || pass2List) {
|
||||
dumpSymbolTable();
|
||||
}
|
||||
|
||||
if (errorCount == 0) { // advance to Pass 2
|
||||
setTimeout(initializePass2, 100);
|
||||
@@ -1960,31 +1981,34 @@ window.addEventListener("load", function() {
|
||||
var w; // scratch variable for word field partitioning
|
||||
var wordText; // instruction word as text "9 9999 99 9999"
|
||||
|
||||
if (opCode === null) {
|
||||
text = padRight(" ", 8+6+6+4+16+3, " ");
|
||||
} else {
|
||||
if (word === null) {
|
||||
wordText = padRight(" ", 16, " ");
|
||||
if (pass2List) {
|
||||
if (opCode === null) {
|
||||
text = padRight(" ", 8+6+6+4+16+3, " ");
|
||||
} else {
|
||||
w = word;
|
||||
addr = w % 10000;
|
||||
w = (w-addr)/10000;
|
||||
op = w % 100;
|
||||
w = (w-op)/100;
|
||||
variant = w % 10000;
|
||||
w = (w-variant)/10000; // should be just the sign digit left
|
||||
wordText = padLeft(w, 3, " ") + " " + padLeft(variant, 4, "0") + " " +
|
||||
padLeft(op, 2, "0") + " " + padLeft(addr, 4, "0");
|
||||
if (word === null) {
|
||||
wordText = padRight(" ", 16, " ");
|
||||
} else {
|
||||
w = word;
|
||||
addr = w % 10000;
|
||||
w = (w-addr)/10000;
|
||||
op = w % 100;
|
||||
w = (w-op)/100;
|
||||
variant = w % 10000;
|
||||
w = (w-variant)/10000; // should be just the sign digit left
|
||||
wordText = padLeft(w, 3, " ") + " " + padLeft(variant, 4, "0") + " " +
|
||||
padLeft(op, 2, "0") + " " + padLeft(addr, 4, "0");
|
||||
}
|
||||
|
||||
text = padLeft(seq, 8, " ") + padLeft(serial || " ", 6, " ") +
|
||||
" " + padLeft(location, 4, "0") + wordText + " ";
|
||||
}
|
||||
|
||||
text = padLeft(seq, 8, " ") + padLeft(serial || " ", 6, " ") +
|
||||
" " + padLeft(location, 4, "0") + wordText + " ";
|
||||
}
|
||||
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) + padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
text += padRight(label, 6) + padRight(opCode || " ", 4) +
|
||||
padRight(sign, 2, " ") + rTrim(operand);
|
||||
printLine(text);
|
||||
if (errorTank.length > 0) {
|
||||
dumpErrorTank();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2210,6 +2234,7 @@ window.addEventListener("load", function() {
|
||||
}
|
||||
|
||||
buffer = ""; // release the card buffer area
|
||||
dumpErrorTank();
|
||||
printLine("");
|
||||
printLine("END OF PASS 2, ERRORS = " + errorCount);
|
||||
$$("TextDiv").removeChild($$("Spinner")); // remove the spinner image
|
||||
@@ -2244,6 +2269,10 @@ window.addEventListener("load", function() {
|
||||
|
||||
$$("CRFileSelector").value = null; // clear any prior file selection
|
||||
$$("CRFileSelector").addEventListener("change", fileSelector_onChange, false);
|
||||
pass1List = $$("Pass1ListCheck").checked;
|
||||
$$("Pass1ListCheck").addEventListener("click", function(ev) {pass1List = ev.target.checked});
|
||||
pass2List = $$("Pass2ListCheck").checked;
|
||||
$$("Pass2ListCheck").addEventListener("click", function(ev) {pass2List = ev.target.checked});
|
||||
}, false);
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user