diff --git a/software/BALGOL/BALGOL-Examples/README.txt b/software/BALGOL/BALGOL-Examples/README.txt index 5d7d8bc..8e14699 100644 --- a/software/BALGOL/BALGOL-Examples/README.txt +++ b/software/BALGOL/BALGOL-Examples/README.txt @@ -243,6 +243,24 @@ U.Dayton-Program/ Note: the version of the compiler reconstructed by the retro-220 project still exhibits this error. +WINTER-PI/ + BALGOL program to compute the first 800 digits of Pi. This was + converted from a version for the Burroughs B5500, which in turn was + adapted from a one-line C program by Dik T. Winter at CWI in + Amsterdam: + + int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5; + for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) + for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);} + + See https://cs.uwaterloo.ca/~alopez-o/math-faq/mathtext/node12.html + and https://crypto.stanford.edu/pbc/notes/pi/code.html. + + This program takes about 73 minutes to run to completion. Compare + this to the hand-coded assembler version in the software/examples/ + WINTER.PI/ directory of the repository, which takes about 40 minutes + to complete. + Paul Kimpel February 2018 @@ -253,3 +271,5 @@ February 2018 Complete Reference-Manual example programs and update results. 2018-07-19 Paul Kimpel Add Simpsons-Rule example. +2018-08-10 Paul Kimpel + Add WINTER-PI example. diff --git a/software/BALGOL/BALGOL-Examples/Reference-Manual/Example-3/Example-3-Code-List.lst b/software/BALGOL/BALGOL-Examples/Reference-Manual/Example-3/Example-3-Code-List.lst index 6804268..8838c9e 100644 --- a/software/BALGOL/BALGOL-Examples/Reference-Manual/Example-3/Example-3-Code-List.lst +++ b/software/BALGOL/BALGOL-Examples/Reference-Manual/Example-3/Example-3-Code-List.lst @@ -1,21 +1,21 @@ - 0200 BAC-220 STANDARD VERSION 2/1/62 - +0200 BAC-220 STANDARD VERSION 2/1/62 + 0200 COMMENT THIRD EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963. - + 0200 - + 0200 THE SHORT PROGRAM WHICH FOLLOWS IS FOR A REDUCTION OF A SQUARE MATRIX - + 0200 TO TRIDIAGONAL FORM, USING THE METHOD OF HOUSEHOLDER$ - + 0200 - + 0200 COMMENT HOUSEHOLDER REDUCTION TO TRIDIAGONAL FORM$ - + 0200 INTEGER I, J, K, L, R, N$ - + 0200 ARRAY A(50,50), X(50), P(50)$ - + 0200 INPUT 0200 0 0000 30 0201 0 0000 30 @@ -25,7 +25,7 @@ 0205 0 0100 42 0205 0206 0 0002 20 0201 0207 0 0000 40 2398 J - + 0205 ELEMENT (I, J, Q)$ 0208 0 0000 42 0208 0209 0 0002 20 0201 @@ -33,7 +33,7 @@ 0211 0 0009 43 0000 0212 0 0000 30 0201 0200 0213 - + 0213 OUTPUT 0213 0 0000 30 0214 0 0000 30 @@ -42,7 +42,7 @@ 0217 0 0001 49 0010 0218 0 0000 12 2396 R 0219 0 0000 40 2394 TEMP - + 0215 AOUT (A(R,R)), 0220 0 0000 42 2394 TEMP 0221 1 0000 10 2449 A @@ -56,65 +56,65 @@ 0228 0 0000 11 2393 CONST 0229 0 0002 45 0000 0230 0 0000 25 2392 S - + 0226 BOUT (-0.5/S)$ 0231 0 0000 42 0231 0232 0 0002 20 0227 0233 0 0009 43 0000 0234 0 0000 30 0227 0226 0235 - + 0235 FORMAT 0235 0 0000 30 0236 0 0004 20 1000 0237 0 0006 70 1005 0238 0 0006 60 0000 0239 1 0000 00 0236 - + 0235 AF (B10, X10.5, W), 0240 0 0004 20 4000 0241 0 0006 70 1005 0242 0 0006 60 0000 0243 1 0000 00 0240 - + 0235 BF (B40, X10.5, W)$ - + 0235 0235 0244 - + 0244 N = 5$ 0244 0 0000 10 2391 CONST 0245 0 0000 40 2390 N - + 0246 IN.. - + 0246 READ ($$ ELEMENT)$ 0246 0 0000 10 0247 0247 0 0000 01 0201 ELEME 0248 0 0000 44 2251 READ 0249 0 0000 30 2251 - + 0250 IF I NEQ 0$ 0250 0 0000 10 2399 I 0251 0 0000 36 - + 0250 BEGIN 0252 0 0000 10 2399 I 0253 0 0000 14 2395 CONST 0254 0 0001 49 0010 0255 0 0000 12 2398 J 0256 0 0000 40 2394 TEMP - + 0252 A(I,J) = Q$ 0257 0 0000 10 2397 Q 0258 0 0000 42 2394 TEMP 0259 1 0000 40 2449 A - + 0260 GO TO IN 0260 0 0000 30 0246 IN - + 0261 END$ - + 0261 0251 0261 0261 0 0000 10 2250 CONST @@ -132,29 +132,29 @@ 0272 0 1111 31 0274 0273 0 0000 36 0274 0 0000 33 - + 0261 FOR R = (1,1,N-1)$ 0275 0 0000 30 0274 0276 0273 0276 - + 0275 BEGIN 0276 0 0000 10 0277 0277 0 0000 01 0214 AOUT 0278 0 4400 28 2010 0279 1 0000 40 0000 - + 0280 WRITE ($$ AOUT, AF)$ 0280 0 0000 10 0281 0281 0 0000 01 0236 AF 0282 0 0000 44 2010 WRITE 0283 0 0100 30 2010 - + 0284 L = R+1$ 0284 0 0000 10 2250 CONST 0285 0 0000 12 2396 R 0286 0 0000 40 2009 L - + 0287 S = 0$ 0287 0 0000 46 2392 S 0288 0 0000 10 2009 L @@ -169,7 +169,7 @@ 0296 0 1111 31 0298 0297 0 0000 36 0298 0 0001 33 - + 0288 FOR J = (L,1,N)$ 0299 0 0000 30 0298 0300 @@ -179,9 +179,9 @@ 0302 0 0001 49 0010 0303 0 0000 12 2398 J 0304 0 0000 40 2394 TEMP - + 0299 S = S + A(R,J)*2$ - + 0299 0305 0 0000 42 2394 TEMP 0306 1 0000 10 2449 @@ -202,7 +202,7 @@ 0319 0 0001 48 0000 0320 0 0000 10 2008 CONST 0321 0 0001 49 0000 - + 0311 S = SIGN(A(R,L))/2SQRT(S)$ 0322 0 0000 40 2394 TEMP 0323 0 0000 10 2392 S @@ -218,7 +218,7 @@ 0333 0 0000 01 0227 BOUT 0334 0 4400 28 2010 0335 1 0000 40 0000 - + 0332 WRITE ($$ BOUT, BF)$ 0336 0 0000 10 0337 0337 0 0000 01 0240 BF @@ -233,13 +233,13 @@ 0346 1 0000 10 2449 A 0347 0 0000 24 2392 S 0348 0 0000 22 2393 CONST - + 0340 X(L) = SQRT(0.5 + A(R,L).S)$ 0349 0 0000 44 1963 SQRT 0350 0 0000 30 1963 0351 0 0000 42 2009 L 0352 1 0000 40 2449 X - + 0353 S = S/X(L)$ 0353 0 0000 10 2392 S 0354 0 0002 45 0000 @@ -259,7 +259,7 @@ 0367 0 1111 31 0369 0368 0 0000 36 0369 0 0001 33 - + 0358 FOR J = (R+2,1,N)$ 0370 0 0000 30 0369 0371 @@ -268,7 +268,7 @@ 0372 0 0000 14 2395 CONST 0373 0 0001 49 0010 0374 0 0000 12 2398 J - + 0370 X(J) = S.A(R,J)$ 0375 0 0000 40 1961 TEMP 0376 0 0000 10 2392 S @@ -291,14 +291,14 @@ 0390 0 1111 31 0392 0391 0 0000 36 0392 0 0001 33 - + 0382 FOR J = (R,1,N)$ 0393 0 0000 30 0392 0394 0391 0394 - + 0393 BEGIN - + 0393 S = 0$ 0394 0 0000 46 2392 S 0395 0 0000 10 2009 L @@ -313,7 +313,7 @@ 0403 0 1111 31 0405 0404 0 0000 36 0405 0 0001 33 - + 0395 FOR K = (L,1,N)$ 0406 0 0000 30 0405 0407 @@ -331,7 +331,7 @@ 0416 0 0000 10 2398 J 0417 0 0000 12 1961 TEMP 0418 0 0000 40 1961 TEMP - + 0406 S = S + A(MIN(J,K), MAX(J,K)).X(K)$ 0419 0 0000 42 1961 TEMP 0420 1 0000 10 2449 A @@ -342,19 +342,19 @@ 0406 0426 0397 0425 0425 0 0000 30 - + 0426 P(J) = S 0426 0 0000 10 2392 S 0427 0 0000 42 2398 J 0428 1 0000 40 2399 P - + 0429 END$ - + 0429 0393 0430 0384 0429 0429 0 0000 30 - + 0430 S = 0$ 0430 0 0000 46 2392 S 0431 0 0000 10 2009 L @@ -369,12 +369,12 @@ 0439 0 1111 31 0441 0440 0 0000 36 0441 0 0001 33 - + 0431 FOR J = (L,1,N)$ 0442 0 0000 30 0441 0443 0440 0443 - + 0442 S = S + X(J).P(J)$ 0443 0 0000 42 2398 J 0444 1 0000 10 2449 X @@ -396,12 +396,12 @@ 0457 0 1111 31 0459 0458 0 0000 36 0459 0 0001 33 - + 0449 FOR J = (L,1,N)$ 0460 0 0000 30 0459 0461 0458 0461 - + 0460 P(J) = P(J) - S.X(J)$ 0461 0 0000 11 2392 S 0462 0 0000 42 2398 J @@ -423,7 +423,7 @@ 0475 0 1111 31 0477 0476 0 0000 36 0477 0 0001 33 - + 0467 FOR J = (L,1,N)$ 0478 0 0000 30 0477 0479 @@ -440,7 +440,7 @@ 0487 0 1111 31 0489 0488 0 0000 36 0489 0 0001 33 - + 0478 FOR K = (J,1,N)$ 0490 0 0000 30 0489 0491 @@ -459,7 +459,7 @@ 0502 1 0000 10 2449 X 0503 0 0000 42 1959 K 0504 1 0000 24 2399 P - + 0490 A(J,K) = A(J,K) - 2(X(J).P(K) + X(K).P(J)) 0505 0 0000 40 1958 TEMP 0506 1 0000 10 2449 X @@ -479,9 +479,9 @@ 0478 0519 0469 0518 0518 0 0000 30 - + 0510 END$ - + 0510 0275 0520 0263 0519 @@ -490,19 +490,19 @@ 0521 0 0000 01 0214 AOUT 0522 0 4400 28 2010 0523 1 0000 40 0000 - + 0520 WRITE ($$ AOUT, AF)$ 0524 0 0000 10 0525 0525 0 0000 01 0236 AF 0526 0 0000 44 2010 WRITE 0527 0 0100 30 2010 - + 0528 STOP$ 0528 0 0137 00 7310 - + 0529 GO TO IN$ 0529 0 0000 30 0246 IN - + 0530 FINISH$ 0530 0 9669 00 9669 0531 0 1000 60 0000 @@ -1009,9 +1009,9 @@ 1957 0 0000 00 0001 COMPILED PROGRAM ENDS AT 0531 PROGRAM VARIABLES BEGIN AT 1888 - - - + + + 4.00000 -3.16227 3.29999 diff --git a/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-BALGOL.card b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-BALGOL.card new file mode 100644 index 0000000..e976080 --- /dev/null +++ b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-BALGOL.card @@ -0,0 +1,80 @@ +2 COMMENT -- WINTER-PI +2 +2 PROGRAM TO COMPUTE PI TO 800 DIGITS. CONVERTED TO BURROUGHS 220 +2 BALGOL FROM THE ONE-LINE C PROGRAM WRITTEN BY DIK T. WINTER AT CWI, +2 AS REPORTED IN +2 HTTPS://CS.UWATERLOO.CA/~ALOPEZ-O/MATH-FAQ/MATHTEXT/NODE12.HTML +2 +2 THE PROGRAM OUTPUTS FOUR DECIMAL DIGITS AT A TIME TO THE SPO. +2 IT CONVERTS EACH FOUR-DIGIT RESULT TO FOUR 1-DIGIT NUMBERS, +2 OUTPUTTING AS BALGOL I-FORMAT, THUS ENSURING ANY LEADING ZERO +2 DIGITS ARE FORMATTED AS ZEROES AND NOT AS SPACES. +2 +2 2016-01-13 P.KIMPEL +2 ORIGINAL VERSION, FOR UNISYS MCP EXTENDED ALGOL. +2 2016-01-16 P.KIMPEL +2 ADAPTED FROM UNISYS MCP ALGOL TO B5500 EXTENDED ALGOL. +2 2018-08-09 P.KIMPEL +2 ADAPTED FROM B5500 EXTENDED ALGOL TO BURROUGHS 220 BALGOL. +2 ; +2 +2 INTEGER +2 A, +2 B, +2 BUF, +2 C, +2 D, +2 E, +2 F, +2 G, +2 I, +2 J; +2 ARRAY +2 F(2801), +2 BUF(20); +2 FORMAT +2 F1 (20(4I1,B1), W2); +2 OUTPUT +2 L1 (FOR J = (1, 1, I-1); +2 (MOD(BUF(J)/1000, 10), MOD(BUF(J)/100, 10), +2 MOD(BUF(J)/10, 10), MOD(BUF(J), 10))); +2 +2 A = 10000; +2 C = 2800; +2 I = 1; +2 +2 FOR B = (1, 1, C+1); +2 F(B) = A/5; +2 +2 UNTIL C EQL 0; +2 BEGIN +2 G = 2C; +2 D = 0; +2 +2 B = C; +2 UNTIL B EQL 0; +2 BEGIN +2 D = D+F(B+1).A; +2 G = G-1; +2 F(B+1) = MOD(D, G); +2 D = D/G; +2 G = G-1; +2 B = B-1; +2 IF (B NEQ 0); +2 D = D.B +2 END; +2 +2 C = C-14; +2 IF I GTR 20; +2 BEGIN +2 WRITE (;; L1, F1); +2 I = 1 +2 END; +2 +2 BUF(I) = E + D/A; +2 I = I+1; +2 E = MOD(D, A) +2 END; +2 +2 WRITE (;; L1, F1); +2 FINISH; diff --git a/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-Code-List.lst b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-Code-List.lst new file mode 100644 index 0000000..17ec263 --- /dev/null +++ b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-Code-List.lst @@ -0,0 +1,681 @@ +0200 BAC-220 STANDARD VERSION 2/1/62 + +0200 COMMENT -- WINTER-PI + +0200 + +0200 PROGRAM TO COMPUTE PI TO 800 DIGITS. CONVERTED TO BURROUGHS 220 + +0200 BALGOL FROM THE ONE-LINE C PROGRAM WRITTEN BY DIK T. WINTER AT CWI, + +0200 AS REPORTED IN + +0200 HTTPS2//CS.UWATERLOO.CA/7ALOPEZ-O/MATH-FAQ/MATHTEXT/NODE12.HTML + +0200 + +0200 THE PROGRAM OUTPUTS FOUR DECIMAL DIGITS AT A TIME TO THE SPO. + +0200 IT CONVERTS EACH FOUR-DIGIT RESULT TO FOUR 1-DIGIT NUMBERS, + +0200 OUTPUTTING AS BALGOL I-FORMAT, THUS ENSURING ANY LEADING ZERO + +0200 DIGITS ARE FORMATTED AS ZEROES AND NOT AS SPACES. + +0200 + +0200 2016-01-13 P.KIMPEL + +0200 ORIGINAL VERSION, FOR UNISYS MCP EXTENDED ALGOL. + +0200 2016-01-16 P.KIMPEL + +0200 ADAPTED FROM UNISYS MCP ALGOL TO B5500 EXTENDED ALGOL. + +0200 2018-08-09 P.KIMPEL + +0200 ADAPTED FROM B5500 EXTENDED ALGOL TO BURROUGHS 220 BALGOL. + +0200 $ + +0200 + +0200 INTEGER + +0200 A, + +0200 B, + +0200 BUF, + +0200 C, + +0200 D, + +0200 E, + +0200 F, + +0200 G, + +0200 I, + +0200 J$ + +0200 ARRAY + +0200 F(2801), + +0200 BUF(20)$ + +0200 FORMAT + 0200 0 0000 30 + 0201 0 0044 90 0100 + 0202 0 0004 20 0100 + 0203 1 0000 20 0201 + 0204 0 0006 60 0200 + 0205 1 0000 00 0201 + +0200 F1 (20(4I1,B1), W2)$ + 0200 0206 + +0206 OUTPUT + 0206 0 0000 30 + 0207 0 0000 30 + 0208 0 0000 10 2178 CONST + 0209 0 0000 40 2177 J + 0210 0 0000 44 + 0211 0 0000 30 + 0212 0 0000 10 2178 CONST + 0213 0 0000 12 2177 J + 0214 0 0000 40 2177 J + 0211 0215 + 0215 0 0000 40 2176 TEMP + 0216 0 0000 10 2175 I + 0217 0 0000 13 2178 CONST + 0218 0 0000 13 2176 TEMP + 0219 0 1111 31 0221 + 0220 0 0000 36 + 0221 0 0000 33 + +0208 L1 (FOR J = (1, 1, I-1)$ + 0222 0 0000 30 + 0221 0223 + 0220 0223 + 0223 0 0000 42 2177 J + 0224 1 0000 10 2178 BUF + 0225 0 0000 48 0003 + 0226 0 0000 17 2174 CONST + 0227 0 0100 42 0227 + 0228 0 0002 20 0207 + 0229 0 0000 42 2177 J + 0230 1 0000 10 2178 BUF + 0231 0 0000 48 0002 + +0222 (MOD(BUF(J)/1000, 10), MOD(BUF(J)/100, 10), + 0232 0 0000 17 2174 CONST + 0233 0 0100 42 0233 + 0234 0 0002 20 0207 + 0235 0 0000 42 2177 J + 0236 1 0000 10 2178 BUF + 0237 0 0000 48 0001 + 0238 0 0000 17 2174 CONST + 0239 0 0100 42 0239 + 0240 0 0002 20 0207 + 0241 0 0000 42 2177 J + 0242 1 0000 10 2178 BUF + 0243 0 0000 17 2174 CONST + 0244 0 0100 42 0244 + 0245 0 0002 20 0207 + 0222 0247 + 0210 0246 + 0246 0 0000 30 + +0235 MOD(BUF(J)/10, 10), MOD(BUF(J), 10)))$ + +0235 + 0247 0 0009 43 0000 + 0248 0 0000 30 0207 + 0206 0249 + +0249 A = 10000$ + 0249 0 0000 10 2173 CONST + 0250 0 0000 40 2172 A + +0251 C = 2800$ + 0251 0 0000 10 2171 CONST + 0252 0 0000 40 2170 C + +0253 I = 1$ + +0253 + 0253 0 0000 10 2178 CONST + 0254 0 0000 40 2175 I + 0255 0 0000 10 2178 CONST + 0256 0 0000 40 2169 B + 0257 0 0000 44 + 0258 0 0000 30 + 0259 0 0000 10 2178 CONST + 0260 0 0000 12 2169 B + 0261 0 0000 40 2169 B + 0258 0262 + 0262 0 0000 40 2176 TEMP + 0263 0 0000 10 2178 CONST + 0264 0 0000 12 2170 C + 0265 0 0000 13 2176 TEMP + 0266 0 1111 31 0268 + 0267 0 0000 36 + 0268 0 0000 33 + +0255 FOR B = (1, 1, C+1)$ + 0269 0 0000 30 + 0268 0270 + 0267 0270 + +0269 F(B) = A/5$ + +0269 + 0270 0 0000 10 2172 A + 0271 0 0001 48 0010 + 0272 0 0000 15 2168 CONST + 0273 0 0000 42 2169 B + 0274 1 0000 40 2198 F + 0269 0276 + 0257 0275 + 0275 0 0000 30 + +0276 UNTIL C EQL 0$ + 0276 0 0000 10 2170 C + 0277 0 0000 36 + +0276 BEGIN + +0276 G = 2C$ + 0278 0 0000 10 2167 CONST + 0279 0 0000 14 2170 C + 0280 0 0001 49 0010 + 0280 0 0001 40 2166 G + +0281 D = 0$ + +0281 + 0281 0 0000 46 2165 D + +0282 B = C$ + 0282 0 0000 10 2170 C + 0283 0 0000 40 2169 B + +0284 UNTIL B EQL 0$ + 0284 0 0000 10 2169 B + 0285 0 0000 36 + +0284 BEGIN + +0284 D = D+F(B+1).A$ + 0286 0 0000 42 2169 B + 0287 1 0000 10 2199 F + 0288 0 0000 14 2172 A + 0289 0 0001 49 0010 + 0290 0 0000 12 2165 D + 0291 0 0000 40 2165 D + +0292 G = G-1$ + 0292 0 0000 10 2166 G + 0293 0 0000 13 2178 CONST + 0294 0 0000 40 2166 G + +0295 F(B+1) = MOD(D, G)$ + 0295 0 0000 10 2165 D + 0296 0 0001 48 0010 + 0297 0 0000 15 2166 G + 0298 0 0001 49 0030 + 0299 0 0000 42 2169 B + 0300 1 0000 40 2199 F + +0301 D = D/G$ + 0301 0 0000 10 2165 D + 0302 0 0001 48 0010 + 0303 0 0000 15 2166 G + 0304 0 0000 40 2165 D + +0305 G = G-1$ + 0305 0 0000 10 2166 G + 0306 0 0000 13 2178 CONST + 0307 0 0000 40 2166 G + +0308 B = B-1$ + 0308 0 0000 10 2169 B + 0309 0 0000 13 2178 CONST + 0310 0 0000 40 2169 B + 0311 0 0000 10 2169 B + 0312 0 0000 36 0314 + 0313 0 0000 10 2178 CONST + +0311 IF (B NEQ 0)$ + 0314 0 0000 36 + +0311 D = D.B + 0315 0 0000 10 2165 D + 0316 0 0000 14 2169 B + 0317 0 0001 49 0010 + 0317 0 0001 40 2165 D + 0314 0318 + +0318 END$ + +0318 + 0285 0319 + 0318 0 0000 30 0284 + +0319 C = C-14$ + 0319 0 0000 10 2170 C + 0320 0 0000 13 2164 CONST + 0321 0 0000 40 2170 C + +0322 IF I GTR 20$ + 0322 0 0000 10 2175 I + 0323 0 0000 13 2163 CONST + 0324 0 1111 31 0326 + 0325 0 0000 36 + 0326 0 0001 33 + +0322 BEGIN + 0327 0 0000 10 0328 + 0328 0 0000 01 0207 L1 + 0329 0 4400 28 1923 + 0330 1 0000 40 0000 + +0331 WRITE ($$ L1, F1)$ + 0331 0 0000 10 0332 + 0332 0 0000 01 0201 F1 + 0333 0 0000 44 1923 WRITE + 0334 0 0100 30 1923 + +0335 I = 1 + 0335 0 0000 10 2178 CONST + 0336 0 0000 40 2175 I + +0337 END$ + +0337 + 0326 0337 + 0325 0337 + +0337 BUF(I) = E + D/A$ + 0337 0 0000 10 2165 D + 0338 0 0001 48 0010 + 0339 0 0000 15 2172 A + 0340 0 0000 12 1922 E + 0341 0 0000 42 2175 I + 0342 1 0000 40 2178 BUF + +0343 I = I+1$ + 0343 0 0000 10 2178 CONST + 0344 0 0000 12 2175 I + 0345 0 0000 40 2175 I + +0346 E = MOD(D, A) + 0346 0 0000 10 2165 D + 0347 0 0001 48 0010 + 0348 0 0000 15 2172 A + 0349 0 0001 49 0030 + 0350 0 0000 40 1922 E + +0346 END$ + +0346 + 0277 0352 + 0351 0 0000 30 0276 + 0352 0 0000 10 0353 + 0353 0 0000 01 0207 L1 + 0354 0 4400 28 1923 + 0355 1 0000 40 0000 + +0352 WRITE ($$ L1, F1)$ + 0356 0 0000 10 0357 + 0357 0 0000 01 0201 F1 + 0358 0 0000 44 1923 WRITE + 0359 0 0100 30 1923 + +0360 FINISH$ + 0360 0 9669 00 9669 + 0361 0 1000 60 0000 + 2178 0 0000 00 0001 POOL + 2167 0 0000 00 0002 + 2163 0 0000 00 0020 + 2173 0 0000 01 0000 + 2171 0 0000 00 2800 + 2168 0 0000 00 0005 + 2164 0 0000 00 0014 + 2174 1 0000 00 0001 + 1923 0 0100 01 0000 + 1924 0 0410 40 1959 + 1925 0 0000 42 1927 + 1926 0 0010 29 2159 + 1927 0 0300 29 0101 + 1928 0 0000 42 1923 + 1929 0 0412 40 2008 + 1930 1 0000 41 9999 + 1931 0 0009 43 7557 + 1932 0 2200 37 1936 + 1933 0 0000 42 0100 + 1934 1 0000 44 0000 + 1935 1 2201 37 0001 + 1936 0 0000 40 0132 + 1937 0 0412 40 1990 + 1938 0 0000 41 0130 + 1939 0 0000 37 1957 + 1940 0 0000 10 0134 + 1941 0 0000 46 0133 + 1942 0 5246 37 2119 + 1943 0 5267 37 2095 + 1944 0 5249 37 2033 + 1945 0 5262 37 2146 + 1946 0 5241 37 1948 + 1947 0 0000 30 2134 + 1948 0 0000 41 1966 + 1949 0 0001 27 0129 + 1950 0 0000 44 2091 + 1951 0 0000 30 2082 + 1952 0 0000 10 0129 + 1953 0 0000 36 1973 + 1954 0 2299 37 1987 + 1955 0 0001 49 0010 + 1956 0 0000 30 1949 + 1957 0 0000 42 1924 + 1958 0 0000 31 1876 ERROR + 1959 0 0000 10 9999 + 1960 0 0401 26 1959 + 1961 0 0000 33 1975 + 1962 0 0000 41 1966 + 1963 0 0001 33 1991 + 1964 0 2214 36 1959 + 1965 0 0000 44 2091 + 1966 0 9900 30 2082 + 1967 0 2299 37 1959 + 1968 0 0001 49 0010 + 1969 0 0000 30 1964 + 1970 0 0000 10 0129 + 1971 0 0000 19 0125 + 1972 0 0000 19 0125 + 1973 0 0000 10 0130 + 1974 0 3300 36 1957 + 1975 0 3300 36 1977 + 1976 0 0000 13 2160 + 1977 0 0000 40 0130 + 1978 0 0210 40 0131 + 1979 0 0001 48 0002 + 1980 0 0310 40 0129 + 1981 0 7242 36 1970 + 1982 0 7266 36 2011 + 1983 0 7257 36 2019 + 1984 0 7263 36 2021 + 1985 0 7243 36 2010 + 1986 0 0300 36 1959 + 1987 0 0000 10 0132 + 1988 0 0000 40 0134 + 1989 0 0009 33 1970 + 1990 0 0000 30 9999 + 1991 0 0000 42 1959 + 1992 0 6600 36 2007 + 1993 0 0001 49 0003 + 1994 0 0300 37 2001 + 1995 0 0000 13 2160 + 1996 0 3300 36 2003 + 1997 1 6301 27 9999 + 1998 1 0000 41 9999 + 1999 0 0411 40 1959 + 2000 0 0000 30 1959 + 2001 1 3310 40 9999 + 2002 0 0000 30 1995 + 2003 1 0000 10 9999 + 2004 0 0001 48 0003 + 2005 1 6610 40 9999 + 2006 0 0000 30 1959 + 2007 0 0000 10 0132 + 2008 0 0009 33 9999 + 2009 0 0000 30 1998 + 2010 0 1008 61 0124 + 2011 0 0001 48 0003 + 2012 0 3111 40 2013 + 2013 0 2408 44 1909 REED + 2014 0 0101 30 1909 REED + 2015 0 0000 42 2017 + 2016 0 0010 29 2159 + 2017 0 0240 29 0101 + 2018 0 0000 30 1973 + 2019 0 1008 61 0124 + 2020 0 0000 30 2015 + 2021 0 0300 36 2026 + 2022 0 0010 09 2025 + 2023 0 0001 12 2003 + 2024 0 0000 30 2021 + 2025 2 1602 02 0202 + 2026 0 0000 10 0125 + 2027 0 0000 36 1973 + 2028 0 0000 12 2096 + 2029 0 0001 48 0004 + 2030 0 3211 40 2031 + 2031 0 0990 09 0101 + 2032 0 0000 30 2015 + 2033 0 0000 42 2043 + 2034 0 0000 36 2092 + 2035 0 1100 36 2093 + 2036 0 0000 40 0134 + 2037 0 0003 45 0080 + 2038 0 0002 40 0128 + 2039 0 0000 46 0126 + 2040 0 0410 40 0126 + 2041 0 0001 40 0127 + 2042 0 0000 10 0134 + 2043 0 0002 48 0010 + 2044 0 0001 43 0023 + 2045 0 0000 12 0129 + 2046 0 0000 13 0128 + 2047 0 0001 33 2134 + 2048 0 0000 19 0125 + 2049 0 5000 19 0125 + 2050 0 0000 10 0134 + 2051 0 0000 41 2087 + 2052 0 0000 44 2091 + 2053 0 0001 33 2081 + 2054 0 0001 27 0128 + 2055 0 0000 32 2067 + 2056 0 0000 41 0127 + 2057 0 0000 37 1973 + 2058 0 0000 41 2044 + 2059 0 0000 44 2091 + 2060 0 0000 30 2081 + 2061 0 0000 10 0127 + 2062 0 0000 13 2049 + 2063 0 0000 42 1979 + 2064 0 0000 46 0129 + 2065 0 0003 26 0129 + 2066 0 0000 30 2036 + 2067 0 0001 27 0126 + 2068 0 0000 41 0126 + 2069 0 0000 37 2075 + 2070 0 0000 41 0133 + 2071 0 0000 37 2077 + 2072 0 0001 27 0133 + 2073 0 0000 41 2037 + 2074 0 0000 30 2081 + 2075 0 0000 41 2004 + 2076 0 0000 30 2081 + 2077 0 0000 10 0134 + 2078 0 0000 41 2096 + 2079 0 0001 49 0001 + 2080 0 0000 40 0134 + 2081 0 0001 49 0018 + 2082 0 0001 48 0008 + 2083 0 0001 42 0125 + 2084 1 0000 49 0008 + 2085 0 9400 28 0125 + 2086 0 0024 21 2091 + 2087 0 0000 43 0020 + 2088 1 0000 12 0125 + 2089 1 0010 40 0125 + 2090 0 0002 26 0125 + 2091 0 0000 30 9999 + 2092 0 0009 21 2037 + 2093 0 0000 49 0051 + 2094 0 0001 21 2035 + 2095 0 0002 45 7557 + 2096 0 0001 48 0008 + 2097 0 0410 18 2161 + 2098 0 0001 40 0134 + 2099 0 0001 34 2109 + 2100 0 0410 40 2107 + 2101 0 0449 27 2107 + 2102 0 0000 42 2107 + 2103 0 0000 10 0130 + 2104 0 0001 48 0004 + 2105 0 4211 40 2108 + 2106 0 0000 10 2107 + 2107 0 0002 45 9999 + 2108 0 0000 20 2038 + 2109 0 0000 43 7557 + 2110 0 0000 13 2161 + 2111 0 0210 40 0133 + 2112 0 0211 18 0130 + 2113 0 0000 35 2116 + 2114 0 0000 10 2161 + 2115 0 0000 30 2100 + 2116 0 0000 10 2093 + 2117 0 1110 40 0134 + 2118 0 0000 30 2100 + 2119 0 0304 27 0129 + 2120 0 0000 32 2123 + 2121 0 0000 30 2133 + 2122 0 0000 10 2162 + 2123 0 0000 36 2122 + 2124 0 0002 45 7557 + 2125 0 2210 40 2048 + 2126 0 0001 48 0008 + 2127 0 0001 40 0134 + 2128 0 0002 48 0010 + 2129 0 0000 12 0130 + 2130 0 0000 17 2093 + 2131 0 0310 18 0129 + 2132 0 0001 34 2142 + 2133 0 0004 26 0129 + 2134 0 0000 10 0129 + 2135 0 0000 19 0125 + 2136 0 0000 19 0125 + 2137 0 0002 27 0125 + 2138 0 0000 41 2149 + 2139 0 0000 44 2091 + 2140 0 0000 30 2081 + 2141 0 0000 30 1973 + 2142 0 0000 41 2048 + 2143 0 0000 10 2079 + 2144 0 0000 42 0131 + 2145 0 0001 20 2038 + 2146 0 0002 45 7557 + 2147 0 0001 48 0008 + 2148 0 0001 40 0134 + 2149 0 0000 43 0014 + 2150 0 0000 13 2161 + 2151 0 0002 45 7557 + 2152 0 0001 33 2157 + 2153 0 0210 18 0130 + 2154 0 0000 34 2134 + 2155 0 0000 12 2079 + 2156 0 0000 30 2144 + 2157 0 0010 40 0133 + 2158 0 0000 30 2143 + 2159 2 0000 00 0000 + 2160 0 0010 00 0000 + 2161 0 0000 00 0050 + 2162 0 5000 00 0000 + 1855 0 0000 44 1888 + 1856 0 0000 30 1884 + 1857 2 5945 62 6453 + 1858 2 6300 56 6463 + 1859 2 0056 46 0059 + 1860 2 4155 47 4500 + 1861 2 4955 00 0000 + 1862 0 0000 44 1888 + 1863 0 0000 30 1884 + 1864 2 5945 62 6453 + 1865 2 6300 64 5544 + 1866 2 4546 49 5545 + 1867 2 4400 46 5659 + 1868 2 0000 00 0000 + 1869 0 0000 44 1888 + 1870 0 0000 30 1884 + 1871 2 5945 62 6453 + 1872 2 6300 49 5353 + 1873 2 2044 45 4649 + 1874 2 5545 44 0046 + 1875 2 5659 00 0000 + 1876 0 0000 46 1897 + 1877 0 0000 44 1888 + 1878 0 0000 30 1886 + 1879 0 0000 00 0000 + 1880 2 0041 59 4963 + 1881 2 4854 45 6349 + 1882 2 4300 56 6545 + 1883 2 5946 53 5666 + 1884 0 0001 40 1897 + 1885 0 0003 45 0000 + 1886 0 0412 40 1891 + 1887 0 0000 42 1908 + 1888 0 0050 29 0033 + 1889 0 1106 44 1909 REED + 1890 0 1892 30 1909 REED + 1891 0 0000 30 0036 + 1892 0 0000 00 0000 + 1893 0 0000 00 0000 + 1894 0 0000 00 0000 + 1895 0 0000 00 0000 + 1896 0 0000 00 0000 + 1897 0 0000 00 0000 + 1898 0 0000 00 0000 + 1899 0 0000 00 0000 + 1900 0 0000 00 0000 + 1901 0 0000 00 0000 + 1902 0 0000 00 0000 + 1903 0 5000 00 0000 + 1904 0 0000 00 0000 + 1905 0 0000 00 0000 + 1906 0 5110 00 0000 + 1907 0 0000 00 0000 + 1908 0 0000 00 1892 + 1909 0 0000 01 0000 + 1910 0 0000 42 1909 + 1911 1 0000 10 9999 + 1912 0 0000 48 0006 + 1913 0 0410 40 1919 + 1914 1 0000 10 9998 + 1915 0 4210 40 1919 + 1916 0 0000 48 0008 + 1917 0 0000 13 1921 + 1918 0 0000 19 1919 + 1919 0 2000 61 0000 + 1920 1 0000 30 0000 + 1921 0 0000 00 0001 +COMPILED PROGRAM ENDS AT 0361 +PROGRAM VARIABLES BEGIN AT 1855 + + 3141 5926 5358 9793 2384 6264 3383 2795 0288 4197 1693 9937 5105 8209 7494 4592 3078 1640 6286 2089 + +9862 8034 8253 4211 7067 9821 4808 6513 2823 0664 7093 8446 0955 0582 2317 2535 9408 1284 8111 7450 + +2841 0270 1938 5211 0555 9644 6229 4895 4930 3819 6442 8810 9756 6593 3446 1284 7564 8233 7867 8316 + +5271 2019 0914 5648 5669 2346 0348 6104 5432 6648 2133 9360 7260 2491 4127 3724 5870 0660 6315 5881 + +7488 1520 9209 6282 9254 0917 1536 4367 8925 9036 0011 3305 3054 8820 4665 2138 4146 9519 4151 1609 + +4330 5727 0365 7595 9195 3092 1861 1738 1932 6117 9310 5118 5480 7446 2379 9627 4956 7351 8857 5272 + +4891 2279 3818 3011 9491 2983 3673 3624 4065 6643 0860 2139 4946 3952 2473 7190 7021 7986 0943 7027 + +7053 9217 1762 9317 6752 3846 7481 8467 6694 0513 2000 5681 2714 5263 5608 2778 5771 3427 5778 9609 + +1736 3717 8721 4684 4090 1224 9534 3014 6549 5853 7105 0792 2796 8925 8923 5420 1995 6112 1290 2196 + +0864 0344 1815 9813 6297 7477 1309 9605 1870 7211 3499 9999 8372 9780 4995 1059 7317 3281 6096 3185 + +Time: 4381.4 sec \ No newline at end of file diff --git a/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-List.lst b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-List.lst new file mode 100644 index 0000000..b88606d --- /dev/null +++ b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-List.lst @@ -0,0 +1,188 @@ +0200 BAC-220 STANDARD VERSION 2/1/62 + +0200 COMMENT -- WINTER-PI + +0200 + +0200 PROGRAM TO COMPUTE PI TO 800 DIGITS. CONVERTED TO BURROUGHS 220 + +0200 BALGOL FROM THE ONE-LINE C PROGRAM WRITTEN BY DIK T. WINTER AT CWI, + +0200 AS REPORTED IN + +0200 HTTPS2//CS.UWATERLOO.CA/7ALOPEZ-O/MATH-FAQ/MATHTEXT/NODE12.HTML + +0200 + +0200 THE PROGRAM OUTPUTS FOUR DECIMAL DIGITS AT A TIME TO THE SPO. + +0200 IT CONVERTS EACH FOUR-DIGIT RESULT TO FOUR 1-DIGIT NUMBERS, + +0200 OUTPUTTING AS BALGOL I-FORMAT, THUS ENSURING ANY LEADING ZERO + +0200 DIGITS ARE FORMATTED AS ZEROES AND NOT AS SPACES. + +0200 + +0200 2016-01-13 P.KIMPEL + +0200 ORIGINAL VERSION, FOR UNISYS MCP EXTENDED ALGOL. + +0200 2016-01-16 P.KIMPEL + +0200 ADAPTED FROM UNISYS MCP ALGOL TO B5500 EXTENDED ALGOL. + +0200 2018-08-09 P.KIMPEL + +0200 ADAPTED FROM B5500 EXTENDED ALGOL TO BURROUGHS 220 BALGOL. + +0200 $ + +0200 + +0200 INTEGER + +0200 A, + +0200 B, + +0200 BUF, + +0200 C, + +0200 D, + +0200 E, + +0200 F, + +0200 G, + +0200 I, + +0200 J$ + +0200 ARRAY + +0200 F(2801), + +0200 BUF(20)$ + +0200 FORMAT + +0200 F1 (20(4I1,B1), W2)$ + +0206 OUTPUT + +0208 L1 (FOR J = (1, 1, I-1)$ + +0222 (MOD(BUF(J)/1000, 10), MOD(BUF(J)/100, 10), + +0235 MOD(BUF(J)/10, 10), MOD(BUF(J), 10)))$ + +0235 + +0249 A = 10000$ + +0251 C = 2800$ + +0253 I = 1$ + +0253 + +0255 FOR B = (1, 1, C+1)$ + +0269 F(B) = A/5$ + +0269 + +0276 UNTIL C EQL 0$ + +0276 BEGIN + +0276 G = 2C$ + +0281 D = 0$ + +0281 + +0282 B = C$ + +0284 UNTIL B EQL 0$ + +0284 BEGIN + +0284 D = D+F(B+1).A$ + +0292 G = G-1$ + +0295 F(B+1) = MOD(D, G)$ + +0301 D = D/G$ + +0305 G = G-1$ + +0308 B = B-1$ + +0311 IF (B NEQ 0)$ + +0311 D = D.B + +0318 END$ + +0318 + +0319 C = C-14$ + +0322 IF I GTR 20$ + +0322 BEGIN + +0331 WRITE ($$ L1, F1)$ + +0335 I = 1 + +0337 END$ + +0337 + +0337 BUF(I) = E + D/A$ + +0343 I = I+1$ + +0346 E = MOD(D, A) + +0346 END$ + +0346 + +0352 WRITE ($$ L1, F1)$ + +0360 FINISH$ +COMPILED PROGRAM ENDS AT 0361 +PROGRAM VARIABLES BEGIN AT 1855 + + + + + + 3141 5926 5358 9793 2384 6264 3383 2795 0288 4197 1693 9937 5105 8209 7494 4592 3078 1640 6286 2089 + +9862 8034 8253 4211 7067 9821 4808 6513 2823 0664 7093 8446 0955 0582 2317 2535 9408 1284 8111 7450 + +2841 0270 1938 5211 0555 9644 6229 4895 4930 3819 6442 8810 9756 6593 3446 1284 7564 8233 7867 8316 + +5271 2019 0914 5648 5669 2346 0348 6104 5432 6648 2133 9360 7260 2491 4127 3724 5870 0660 6315 5881 + +7488 1520 9209 6282 9254 0917 1536 4367 8925 9036 0011 3305 3054 8820 4665 2138 4146 9519 4151 1609 + +4330 5727 0365 7595 9195 3092 1861 1738 1932 6117 9310 5118 5480 7446 2379 9627 4956 7351 8857 5272 + +4891 2279 3818 3011 9491 2983 3673 3624 4065 6643 0860 2139 4946 3952 2473 7190 7021 7986 0943 7027 + +7053 9217 1762 9317 6752 3846 7481 8467 6694 0513 2000 5681 2714 5263 5608 2778 5771 3427 5778 9609 + +1736 3717 8721 4684 4090 1224 9534 3014 6549 5853 7105 0792 2796 8925 8923 5420 1995 6112 1290 2196 + +0864 0344 1815 9813 6297 7477 1309 9605 1870 7211 3499 9999 8372 9780 4995 1059 7317 3281 6096 3185 + diff --git a/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO-BALGOL.card b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO-BALGOL.card new file mode 100644 index 0000000..c78c58f --- /dev/null +++ b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO-BALGOL.card @@ -0,0 +1,78 @@ +2 COMMENT -- WINTER-PI +2 +2 PROGRAM TO COMPUTE PI TO 800 DIGITS. CONVERTED TO BURROUGHS 220 +2 BALGOL FROM THE ONE-LINE C PROGRAM WRITTEN BY DIK T. WINTER AT CWI, +2 AS REPORTED IN +2 HTTPS://CS.UWATERLOO.CA/~ALOPEZ-O/MATH-FAQ/MATHTEXT/NODE12.HTML +2 +2 THE PROGRAM OUTPUTS FOUR DECIMAL DIGITS AT A TIME TO THE SPO. +2 IT CONVERTS EACH FOUR-DIGIT RESULT TO FOUR 1-DIGIT NUMBERS, +2 OUTPUTTING AS BALGOL I-FORMAT, THUS ENSURING ANY LEADING ZERO +2 DIGITS ARE FORMATTED AS ZEROES AND NOT AS SPACES. +2 +2 2016-01-13 P.KIMPEL +2 ORIGINAL VERSION, FOR UNISYS MCP EXTENDED ALGOL. +2 2016-01-16 P.KIMPEL +2 ADAPTED FROM UNISYS MCP ALGOL TO B5500 EXTENDED ALGOL. +2 2018-08-09 P.KIMPEL +2 ADAPTED FROM B5500 EXTENDED ALGOL TO BURROUGHS 220 BALGOL. +2 ; +2 +2 INTEGER +2 A, +2 B, +2 C, +2 D, +2 E, +2 F, +2 G, +2 I, +2 J; +2 ARRAY +2 F(2801); +2 FORMAT +2 F1 (4I1, B1, T0), +2 F2 (T2); +2 OUTPUT +2 L1 (MOD(E/1000, 10), MOD(E/100, 10), MOD(E/10, 10), MOD(E, 10)); +2 +2 A = 10000; +2 C = 2800; +2 I = 0; +2 +2 FOR B = (1, 1, C+1); +2 F(B) = A/5; +2 +2 UNTIL C EQL 0; +2 BEGIN +2 G = 2C; +2 D = 0; +2 +2 B = C; +2 UNTIL B EQL 0; +2 BEGIN +2 D = D+F(B+1).A; +2 G = G-1; +2 F(B+1) = MOD(D, G); +2 D = D/G; +2 G = G-1; +2 B = B-1; +2 IF (B NEQ 0); +2 D = D.B +2 END; +2 +2 C = C-14; +2 E = E + D/A; +2 I = I+1; +2 WRITE (;; L1, F1); +2 IF I GEQ 10; +2 BEGIN +2 WRITE(;; F2); +2 I = 0 +2 END; +2 +2 E = MOD(D, A) +2 END; +2 +2 WRITE (;; F2); +2 FINISH; diff --git a/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO.lst b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO.lst new file mode 100644 index 0000000..386865b --- /dev/null +++ b/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-SPO.lst @@ -0,0 +1,205 @@ +0200 BAC-220 STANDARD VERSION 2/1/62 + +0200 COMMENT -- WINTER-PI + +0200 + +0200 PROGRAM TO COMPUTE PI TO 800 DIGITS. CONVERTED TO BURROUGHS 220 + +0200 BALGOL FROM THE ONE-LINE C PROGRAM WRITTEN BY DIK T. WINTER AT CWI, + +0200 AS REPORTED IN + +0200 HTTPS2//CS.UWATERLOO.CA/7ALOPEZ-O/MATH-FAQ/MATHTEXT/NODE12.HTML + +0200 + +0200 THE PROGRAM OUTPUTS FOUR DECIMAL DIGITS AT A TIME TO THE SPO. + +0200 IT CONVERTS EACH FOUR-DIGIT RESULT TO FOUR 1-DIGIT NUMBERS, + +0200 OUTPUTTING AS BALGOL I-FORMAT, THUS ENSURING ANY LEADING ZERO + +0200 DIGITS ARE FORMATTED AS ZEROES AND NOT AS SPACES. + +0200 + +0200 2016-01-13 P.KIMPEL + +0200 ORIGINAL VERSION, FOR UNISYS MCP EXTENDED ALGOL. + +0200 2016-01-16 P.KIMPEL + +0200 ADAPTED FROM UNISYS MCP ALGOL TO B5500 EXTENDED ALGOL. + +0200 2018-08-09 P.KIMPEL + +0200 ADAPTED FROM B5500 EXTENDED ALGOL TO BURROUGHS 220 BALGOL. + +0200 $ + +0200 + +0200 INTEGER + +0200 A, + +0200 B, + +0200 C, + +0200 D, + +0200 E, + +0200 F, + +0200 G, + +0200 I, + +0200 J$ + +0200 ARRAY + +0200 F(2801)$ + +0200 FORMAT + +0200 F1 (4I1, B1, T0), + +0200 F2 (T2)$ + +0207 OUTPUT + +0211 L1 (MOD(E/1000, 10), MOD(E/100, 10), MOD(E/10, 10), MOD(E, 10))$ + +0211 + +0230 A = 10000$ + +0232 C = 2800$ + +0234 I = 0$ + +0234 + +0235 FOR B = (1, 1, C+1)$ + +0249 F(B) = A/5$ + +0249 + +0256 UNTIL C EQL 0$ + +0256 BEGIN + +0256 G = 2C$ + +0261 D = 0$ + +0261 + +0262 B = C$ + +0264 UNTIL B EQL 0$ + +0264 BEGIN + +0264 D = D+F(B+1).A$ + +0272 G = G-1$ + +0275 F(B+1) = MOD(D, G)$ + +0281 D = D/G$ + +0285 G = G-1$ + +0288 B = B-1$ + +0291 IF (B NEQ 0)$ + +0291 D = D.B + +0298 END$ + +0298 + +0299 C = C-14$ + +0302 E = E + D/A$ + +0307 I = I+1$ + +0310 WRITE ($$ L1, F1)$ + +0318 IF I GEQ 10$ + +0318 BEGIN + +0323 WRITE($$ F2)$ + +0327 I = 0 + +0328 END$ + +0328 + +0328 E = MOD(D, A) + +0328 END$ + +0328 + +0334 WRITE ($$ F2)$ + +0338 FINISH$ +COMPILED PROGRAM ENDS AT 0339 +PROGRAM VARIABLES BEGIN AT 1876 + + + + +3141 5926 5358 9793 2384 6264 3383 2795 0288 4197 + +1693 9937 5105 8209 7494 4592 3078 1640 6286 2089 + +9862 8034 8253 4211 7067 9821 4808 6513 2823 0664 + +7093 8446 0955 0582 2317 2535 9408 1284 8111 7450 + +2841 0270 1938 5211 0555 9644 6229 4895 4930 3819 + +6442 8810 9756 6593 3446 1284 7564 8233 7867 8316 + +5271 2019 0914 5648 5669 2346 0348 6104 5432 6648 + +2133 9360 7260 2491 4127 3724 5870 0660 6315 5881 + +7488 1520 9209 6282 9254 0917 1536 4367 8925 9036 + +0011 3305 3054 8820 4665 2138 4146 9519 4151 1609 + +4330 5727 0365 7595 9195 3092 1861 1738 1932 6117 + +9310 5118 5480 7446 2379 9627 4956 7351 8857 5272 + +4891 2279 3818 3011 9491 2983 3673 3624 4065 6643 + +0860 2139 4946 3952 2473 7190 7021 7986 0943 7027 + +7053 9217 1762 9317 6752 3846 7481 8467 6694 0513 + +2000 5681 2714 5263 5608 2778 5771 3427 5778 9609 + +1736 3717 8721 4684 4090 1224 9534 3014 6549 5853 + +7105 0792 2796 8925 8923 5420 1995 6112 1290 2196 + +0864 0344 1815 9813 6297 7477 1309 9605 1870 7211 + +3499 9999 8372 9780 4995 1059 7317 3281 6096 3185 + + + diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/Cardatron-Media.txt b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/Cardatron-Media.txt new file mode 100644 index 0000000..ab889f3 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/Cardatron-Media.txt @@ -0,0 +1,90 @@ +Annotation of the default INPUTMEDIA and OUTPUTMEDIA routines for +Cardatron devices. The routines from the GENERATOR listing are used +by the BALGOL compiler; those from the Library are used by compiled +programs at run time. 2018-07-20 P.Kimpel + + +From GENERATOR listing: + +Cardatron input routine for Compiler: + + 722 0616 0 0000 00 0006 IK (6) number of words in input routine + 723 0617 0 0000 01 0000 ITBL NOP entry point + 724 0618 8 0000 42 0000 8LDB ($-1)-ITBL load return address to B from entry point word + 725 0619 8 0412 40 0005 8STB (1F)-ITBL/04 store return address in BUN at 1F /04 field + 726 0620 1 4400 28 9999 -DLB -1/44 load B with /44 field of BUN at calling address (buffer address) + 727 0621 1 1010 60 0015 UNIT1 -CNC 15,1 read card from unit 1 to buffer address+15 (Cardatron stores words backwards in memory) + 728 0622 0 0000 30 0622 1 BUN $ return to caller + +Cardatron output routine for Compiler: + + 746 0780 0 0000 00 0013 OK (13) number of words in output routine + 747 0781 0 0000 01 0000 OTBL NOP entry point + 748 0782 8 0000 42 0000 8LDB ($-1)-OTBL load return address to B from entry point word + 749 0783 8 0412 40 0012 8STB (1F)-OTBL/04 store return address at 1F /04 field + 750 0784 1 0000 10 9999 -CAD -1 load the word before the return address (should be the BUN for the call) + 751 0785 0 0000 48 0006 SRA 6 shift word right 6 digits (/44 field now in /04 field: buffer address) + 752 0786 8 0410 40 0011 8STA (2F)-OTBL/04 store buffer address in /04 field of CWR at 2F + 753 0787 1 0000 10 9998 -CAD -2 load second word before return address (should be STP for the call) + 754 0788 8 4210 40 0011 8STA (2F)-OTBL/42 store /42 field into CWR at 2F (c and f digits) + 755 0789 0 0000 48 0008 SRA 8 shift word right 8 digits (/22 field not in /02 field: buffer length) + 756 0790 0 0000 13 4100 SUB XONE+1 subtract 1 from buffer length + 757 0791 8 0000 19 0011 8ADL (2F)-OTBL add (buffer length - 1) to base address in CWR at 2F (Cardatron fetches words backwards, too) + 758 UNIT2 IS $+1 + 759 0792 0 2009 61 0000 2 CWR 0,2,0 write card/line to unit 2 + 760 0793 0 0000 30 0793 1 BUN $ return to caller + + +From BALGOL-Main: Format Bands + +1 FR1 FBGR INPUT,T2Z1B4A,15(T5A) 046 57 0 +1 FR2 FBGR INPUT,16(P5A),P10Z 046 58 0 +1 FR3 FBGR PRINT,49B,TZZZZZZNNNN,BBB,SBNNNNBNNBNNNN,BT5A,44B 046 59 0 +1 FR6 FBGR PRINT,49B,TZZZZZZNNNN,BBB,SBNNNNBNNBZZZZ,5BT5A,44B 046 60 0 +1 FR7 FBGR PRINT,49B,TZZZZZZNNNN,BBB,T6Z10BNNNN,50B 046 61 0 +1 FR4 FBGR PRINT,7(T5A),85B 046 62 0 +1 FR8 FBGR PRINT,TZZNNNNZZZZ,4B,16(T5A),32B 046 63 0 + + +From Library REED listing: Cardatron input routine for Library: + + .00.0 1 0000 READ DEFN 100 + .00.0 2 0000 0 0000 01 0000 REED NOP entry point + .00.0 3 0001 0 1000 60 0117 CRD 0117,1 read from card unit 1 to absolute 0117 (backwards) + .00.0 4 0002 6 0000 30 0111 BUN 6 0111 branch to READ routine + 11 words (freefield input formatter) + .00.0 5 0003 4 0000 99 0000 CNST 40000990000 pseudo-op to signal end of routine to library linker + .00.0 6 0004 2 5945 45 4400 CNST $REED READ=1 $ library configuration data... + 0005 2 5945 41 4433 " + 0006 2 8100 00 0000 " + .00.0 7 0007 9 0000 00 0000 CNST 90000000000 " + .00.0 8 0008 FINI REED + + +From Library RITE listing: Cardatron output routine for Library: + + .00.0 1 0000 0 0000 01 0000 RITE NOP entry point + .00.0 2 0001 8 0000 42 0000 LDB 8 *-1 load return address to B from entry point word + .00.0 3 0002 1 0000 10 9999 CAD - 9999 load word before entry point (should be BUN at the calling location) + .00.0 4 0003 0 0000 48 0006 SRA 6 shift word right 6 digits (/44 field now in /04 field: buffer address) + .00.0 5 0004 8 0410 40 0010 STA 8 A+,04 store buffer address in /04 field of CWR at A+ + .00.0 6 0005 1 0000 10 9998 CAD - 9998 load second word before return address (should be STP at the calling location) + .00.0 7 0006 8 4210 40 0010 STA 8 A+,42 store /42 field into CWR at A+ (c and f digits) + .00.0 8 0007 0 0000 48 0008 SRA 8 shift word right 8 digits (/22 field now in /02 field: buffer length) + .00.0 9 0008 8 0000 13 0012 SUB 8 +1 subtract 1 from buffer length + .00.0 10 0009 8 0000 19 0010 ADL 8 A+ add (buffer length - 1) to base address in CWR at A+ (Cardatron fetches backwards) + .00.0 11 0010 0 2000 61 0000 *A CWR 0,02,0 write card/line to unit 2 + .00.0 12 0011 1 0000 30 0000 BUN - 0 return to caller + .00.0 13 0012 LOCN LOCN *+1 reserve space for literal pool + .00.0 14 0013 4 0000 99 0000 CNST 40000990000 pseudo-op to signal end of routine to library linker + .00.0 15 0014 2 5949 63 4500 CNST $RITE $ library configuration data... + .00.0 16 0015 9 0000 00 0000 CNST 90000000000 " + .00.0 17 0016 LOCN LOCN restore literal pool location + .00.0 18 0012 FINI RITE + 0012 0 0000 00 0001 +0000000001 literal pool + +From BALGOL-Overlay: Format Bands: + +1 FMT1 FBGR INPUT,16(P5A),P10Z 02 50 0 +1 FMT3 FBGR PRINT,49B,T5A,T1A1B2A4Z,T10N,T8Z1A,XB6Z2A,48B MONITOR 002 51 0 +1 FMT4 FBGR PRINT,32B,11(T5A),33B ERROR MESSAGE FORMAT BAND 002 52 0 +1 FMT5 FBGR PRINT,24(T5A) PRINTER-PUNCH FORMAT BAND 002 56 0 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/Hello-World-BALGOL.pt b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/Hello-World-BALGOL.pt new file mode 100644 index 0000000..988eada --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/Hello-World-BALGOL.pt @@ -0,0 +1,64 @@ +2 COMM +2ENT P +2APER- +2TAPE +2HELLO +2WORLD +2PROGR +2AM; +2 +2 +2 +2 +2 +2 +2 +2 +2 FORM +2AT F1 +2(*HEL +2LO WO +2RLD*) +2; +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 WRIT +2E(;; +2F1); +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 FINI +2SH; +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 +2 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler-Callout.pt b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler-Callout.pt new file mode 100644 index 0000000..fb42664 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler-Callout.pt @@ -0,0 +1,5 @@ +61000040002 +00000390000 +02008500000 +02001520000 +60000300002 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler.tape b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler.tape new file mode 100644 index 0000000..6a412ce --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Compiler.tape @@ -0,0 +1,127 @@ +0,100,300002,300060,2008500000,4450000,12001520000,420006,1450999,10000120000,1210007,360015,40090021,2001580000,9669009669,420007,300004,1101270016,4000420007,999200018,412400007,320004,300046,21643484543,25200626454,20045595956,25916000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,420050,12201520000,420049,1450199,10000124800,1210050,360057,40090021,2201580000,9669009669,300046,1105270016,410400007,314500,2008500000,420062,1450998,10000120000,1210063,420063,10000410999,10000400999,10000110999,10000400999,12000560000,10001400999,999200073,412400063,1101270016,320061,1105270016,1450199,410400063,420050,10000460000,412400083,420077,10000120000,1210083,420083,10000400000,10000110000,10000400000,12200560000,2008500000,7450000,410400083,310094,2222,300002 +0,100,0,0,34954575956,25745590000,34348415941,24363455900,25741495900,34464575349,24341634500,35759564345,24464594500,25541544500,34664554363,24956550000,34159476454,24555630000,35449625753,24143454400,25341424553,34159496348,25445634943,35657455941,26349565500,36541594941,24253450000,36268544256,25300000000,34445434954,24153000000,25756495563,26243415345,34641436356,25900000000,36263416345,25445556300,34356556263,24155630000,25664630000,25646000000,25941554745,34356545749,25345590000,34341574143,24963680000,34567434545,24445440000,24356545441,24567635941,36264426243,25949576300,24554576368,35756624963,24956550000,25949474863,25345466300,35741594555,36348456249,26200007777,35945534163,24956550000,34256565345,24155000000,35657455941,25544000000,24159594168,34445435341,35941634956,25500000000,34162624947,25554455563,25456440000,24955576463,35449626249,25547000000,100000,0,0,0,0,0,0,96,0,40000290183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3 +0,100,0,0,0,0,0,0,0,0,80000000000,0,0,0,0,0,0,0,0,0,0,0,0,0,24,24,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2140990000,2041010000,2140950000,2040970000,4041070000,0,2141030000,2041050000,4999,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,274000000,275000000,276000000,277000000,278000000,279000000,280000000,281000358,282000000,283000000,284000000,286000000,286000000,287000000,288000000,289000000,290000000,291000000,292000000,30032080001,10132150001,20032980001,1200480001,3,14133200001,30033610001 +0,100,10033660001,20033870001,20034050001,1000000001,30034090001,20034120001,60019830005,11430790001,30034180001,0,30034330001,10034350001,14134530001,31431440001,1100240001,30034930001,60018200005,2,30035570001,14035770001,30035880001,20035910001,20035930001,30035950001,30036060001,30029730001,60022060005,20036080001,20036120001,0,50000000001,0,60021860001,60003570004,60025250001,60023480005,60003630004,60025100001,60003520004,2202030001,20031630001,80100240001,80100120001,1000001,1120001,32236160001,25312521,25372537,25242517,25242520,119291917,90020842079,23932382,90120652057,17961801,17981801,18261801,22382214,11000000000,90120652059,25072486,18441838,25072501,20020752068,80120842449,70125312006,67001002434,26264425956,26463495545,67001001852,26455634953,67004000353,24955576463,67001001909,25945636459,25500000000,67691001860,24946000000,7001201209,24954575300,67001001868,25659000000,67001001835,24756000000,67004000359,25664635764,26300000000,67001001862,24549634845,25900000000,67004000348,24256565345,24155000000,67001001912,24356545445,25563000000,87001010012,25345580000,67004000351,24656595441 +0,100,26300000000,67404000355,25449550000,87001010006,25545580000,67004000349,24653564163,24955470000,67004000348,24955634547,24559000000,67004000350,24656590000,67004000360,25759564345,24464594500,67404000354,25441670000,67001002201,24649554962,24800000000,27401413177,25743620000,67001002159,26245475445,25563000000,67001001832,25665455953,24168000000,67001001899,24555634559,87001010018,24763590000,67004000346,24159594168,67005001884,25663484559,26649624500,67004000362,24664554363,24956550000,27001243148,25556630000,87001010030,25362620000,67001002407,25456554963,25659000000,67004000361,26266496343,24800000000,67001001905,26263565700,642220000,1404230000,1004330000,7001230200,24155440000,67004000364,24567634559,25541530000,67004000349,25945415300,67001002396,24464545700,67004000365,26359414345,67301990000,26263416345,25445556300,88888300920,88888300920,88888301049,88888300930,88888301144,88888301049,88888301049,88888301049,88888301118,88888301046,88888301088,88888301092,88888301099,88888301175,88888301179,88888301099,88888301099,88888301207,88888301172,88888301099,88888301103,88888301200,88888301106,88888301114,88888301106,88888301106,88888301106,88888301106,88888301132,88888301106 +0,100,88888301104,88888301675,88888301245,88888301106,1403930000,88888301247,88888301245,603960000,88888301106,88888301108,88888301104,88888301675,604030000,88888301106,1404080542,1804130000,1204180517,604210453,88888301106,88888301108,88888301104,88888301675,88888300850,88888301106,2003660000,88888301247,27401413190,26249475500,88888301106,88888301108,88888301104,88888301675,88888301245,88888301106,7001210206,24558644965,88888301245,805260000,88888301106,88888301108,88888301104,88888301675,11041010552,88888301106,67001001801,26356000000,7002000000,24245474955,88888301106,88888301108,88888301104,88888301675,1042240000,88888301106,67001002186,24555440000,27401413133,24142620000,87001010024,24745580000,88888301104,88888301675,804510000,88888301106,67404000356,25456440000,87001010000,24558530000,88888301106,88888301108,100001,100002,100004,100005,60000100001,110001,110002,120001,120002,60000120001,220001,220002,130001,130002,130004,230001,230002,140001,140002,240001,240002,150001,150002,250001,40000000000,10000180001,10000180002,170001,170002,400001 +0,100,400002,10000400001,10000400002,61110400002,40410400000,50000400000,300001,300002,300003,70000300400,50000300000,40000300000,300003,60000300002,60001330003,60000330003,60000360002,60000360003,60000360004,80101369999,70000010000,10001,10002,10092,40001490010,40001490000,40001490030,40001480010,40001480000,40000490009,40000420000,60000420000,1420001,4400280002,40000430000,40001430000,40009430000,70000440000,440002,440003,60000380002,40001450002,40002200000,410001,40137007310,1100001,1110001,30000000001,30000000002,60000340002,60001340002,60011350002,120004,460002,80000369999,80001339999,80000339999,80000309999,40000440074,40000300076,60101360002,90000309999,80000449999,10000400003,420009,110004,40002450000,61111310002,10900000000,11400000000,31400000000,30900000000,10800000000,31300000000,11300000000,30800000000,10109000000,10708000000,10213000000,10713000000,21200000000,21700000000,41700000000,41200000000,21100000000,41600000000,21600000000,41100000000,20112000000,20711000000,20216000000,20716000000,13202582200,13207582200,13207582200,13202582200,15822000000,35822000000,35822000000,15822000000 +0,100,10258220000,10758220000,10758220000,10258220000,23202972400,23207972400,23207972400,23202972400,29724000000,49724000000,4972400000,29724000000,20297240000,20797240000,20797240000,20297240000,11955000000,31955000000,31955000000,11955000000,11855000000,31855000000,31855000000,11855000000,10218550000,10718550000,10718550000,10218550000,22100000000,42100000000,42100000000,22100000000,22000000000,42000000000,42000000000,22000000000,20220000000,20720000000,20720000000,20220000000,52780020000,53207268001,53206278002,62781020000,52680010000,53307268001,53306278002,62681010000,50127800200,50726800100,50627800200,60127810200,52781020000,53207268101,53206278102,62780020000,52681010000,53307268101,53306278102,62680010000,50127810200,50726810100,50627810200,60127800200,12900000000,12800000000,10129000000,17991020000,17891010000,10278910100,10915650000,10815650000,10109156500,12782030000,17883910100,10127820300,14872440300,14872440300,14788000000,14788000000,18500000000,18500000000,14703000000,14703000000,18500000000,18500000000,14788000000,14788000000,14945724403,14946724403,14787000000,14786000000,18586000000,18587000000,14945034472,14946034472,18586000000,18587000000,14787000000,14786000000 +0,100,14946724403,14945724403,14786000000,14787000000,18587000000,18586000000,14946034472,14945034472,18587000000,18586000000,14786000000,14787000000,3000000000,1133000000,2630000000,1126330000,0,7284007200,1224213400,3300000000,2623330000,2633000000,3100000000,2214113300,3200000000,1411330000,2632000000,1411263300,2134000000,3400000000,2421340000,3500000000,2623350000,2635000000,1631000000,1613340000,1632000000,1613350000,1532000000,1325350000,2116340000,1634000000,2421163400,1635000000,2325350000,2535000000,300850,100335,440846,301819,410223,1400222,410199,1400198,441598,301582,4450000,100179,9999210000,9108360881,210182704,340879,9999210000,204360881,9999210000,224360881,9999210000,203360881,9999210000,213360881,9999210000,223360881,9999210000,214360881,9999210000,220360881,234360880,9998210000,200360881,1210881,214270179,2400199,410179,1400223,100198,210360900,100199,210360904,100198,490001,120199,400154,420154,10000100470,14588360470,460199,10260199,441687,882301682,30103050000 +0,100,100199,361134,201361237,300850,100198,360907,301141,441313,301310,210182704,1340856,441329,301551,460198,10260198,300856,460199,10260199,300850,6229260921,460199,850,1420197,100223,10000490008,9400280197,10000190230,202260197,310919,300850,441446,301399,6411180360,420274,10000100000,1350963,330944,6400280201,3330958,11105260000,441329,301320,100337,300848,11210260000,6400280201,10000410000,1100370952,11112400000,441687,945301682,30608100000,11108260000,104217,16410400000,441329,301320,300850,11101270000,441329,301320,411045,302475,6411180352,1350981,1330981,441329,301320,420274,10000100000,6400280201,10000410000,2330979,1106370961,1104370961,1108370961,441687,961301682,30111130000,1105371001,300976,6400280201,10000100000,6411180348,350961,1100361015,1109361025,441329,301320,6400280201,10000410000,1101371177,1104370999,1105371001,1109370850,1107370850,1288370999,211180203,350961,1645534545 +0,100,100338,300848,10000420000,1490000,124096,1331006,10000420000,9999201013,10000100001,400154,277441738,301726,420154,1211007,100333,300848,6411180346,6400280201,351020,11101260000,300987,11105260000,441329,301320,100334,300848,1490000,9331031,8331031,441687,987301682,31517000000,10000400000,6411180351,1351035,6229271041,6400284217,412400194,441305,301256,6206261290,100336,300848,6229261041,441329,301320,300916,410230,11180452,350907,301085,6229261049,100220,2490002,1210400329,100197,490008,2110400329,490001,1110400329,2222270329,104216,490004,6410400329,424216,100230,10000400000,1264216,411068,420286,1400816,2400309,9999201077,10000410001,1400154,6400280154,10000180000,341082,420816,100329,441738,301728,300850,410309,420154,301069,441329,301551,300850,441329,911301314,1260255,301134,2201270182,100230,2490001,400230,410223,111400230,300850 +0,100,441329,1049301314,300850,20000000010,1260255,1134440846,301676,850440846,301676,410223,210370854,460253,441687,916301682,31518200000,100297,440846,301819,301177,441446,301399,1100361127,1101361128,1107360955,460267,441687,1128301682,30122240000,11101260000,441329,301320,100303,300848,1130440846,301676,460197,6212400921,6201260921,422380,460230,90290230,300920,441313,301310,300856,441313,301310,203361156,441329,301551,410223,1400222,410199,1400198,300856,411102,1400197,441313,301310,203361165,1260267,441446,301399,441305,301257,300913,420197,12211156,460223,90260223,460199,6229271049,300920,441329,301316,301130,441329,930301314,100296,300848,441313,301310,410179,203371154,9108371187,441329,301316,301149,1100253,1120254,361193,441687,1184301682,31526280000,460182,2258260182,1260254,1400223,414100,1400199 +0,100,301092,100297,440846,301819,100296,440846,301819,301237,441313,301310,214361211,301184,420254,1211216,460182,2258260182,1260254,441352,301339,410230,1400187,1260253,441313,301310,220361230,234361230,210361231,9108361234,441687,1184301682,30129300000,6101261355,441313,301310,301226,400223,206270199,301240,460253,6112401355,100223,460230,460182,460254,110400230,300850,847440846,301676,1249440846,301676,420274,11210260000,10000100000,1260272,2330850,1260267,300850,6206271290,460267,6400280201,10000100000,6400361278,1267361912,441687,1305301682,30617000000,331273,414231,1400242,410466,1400185,444046,301793,301284,6400280201,10000410000,442962,304065,301284,104217,16410400000,301284,442820,620302736,6229261280,6400280201,441755,1265301752,410205,1014217,100262,361305,6400280247,444054,304053,6400280201,412401301,100201,331299,11210260001 +0,100,444046,301771,1101301,11305,2331306,6331306,301305,442694,310302706,6229261302,301305,441598,301582,361582,301313,420267,1211334,441352,301339,441537,301514,6400280201,10000100000,1107361330,2210400201,1106361332,100201,170667,440846,301819,301329,490004,301327,1102260201,301325,411102,1400197,421329,14400289999,10000300000,460229,100254,361353,100230,2300361347,2201260182,2480001,301343,1480010,100182,811400182,220182,400230,301352,100253,361366,1100230,8800361360,441687,1364301682,33436373800,490008,1120187,311357,331351,1450000,301351,2201260229,301352,120204,172338,121907,410400201,414216,1490004,6411400201,101402,2310400201,480002,4310401389,4200361397,420201,10000410000,100201,371386,441738,301728,16710400000,424216,4319261389,290229,2404216,414216,411184227,341746,6400280201,10000460000,301396,2101261389,301380 +0,100,100197,490008,2310401402,1100230,1480010,152338,1400204,410266,100265,371426,410105,361417,441674,301648,301477,2100371417,2101371417,410221,2111400220,100200,441396,301368,410220,12111400000,410267,371441,301475,361447,100200,441674,301649,301447,410255,371441,410201,1400206,100296,440846,301819,410206,1400201,460255,420281,10000410000,6400280201,1270371505,10000100000,301446,441674,301648,301459,11320,2274371431,1107371440,1109371479,2283371480,2103371473,444054,1103374053,301431,100203,361471,1450009,441674,301649,301470,2274371431,1107371440,1104371431,1103371454,1108371454,100203,441396,301368,410267,371480,11101270000,301440,100200,301471,460255,420281,10000410000,6411180348,1351488,100220,6400280201,12110400000,301441,100230,420286,9999201503,10000410001,1400154,6400280154,2211401495,12210180000,420154,1351490,100154 +0,100,2480002,6400280201,12110400000,301431,100221,301500,80000101505,412403627,460267,441738,301728,442694,345302706,1260262,300850,100230,410229,11538,6400280245,2101371520,6400280246,10000180001,351532,412401527,10000420000,9999201526,1201520,424216,412401527,20290229,2404216,11102269998,9998201532,2400201,100201,490004,6410400201,6400280201,301537,2111180241,343756,1343775,6229271516,400240,443752,303741,410240,100174,1260174,442962,302922,301329,441446,301399,1107361320,6411180348,350850,420267,1100361570,1101361564,1109361568,1211565,441687,1320301682,30122240000,9999201320,441687,1577301682,30117240000,1211577,301561,6411180352,1351575,420274,10000100000,3331579,6400280201,11101260000,460267,301320,6400280201,11109260000,301320,11623,9400280225,10000101632,420225,10000490000,144211610,361620,480008,502260225,210400179,301598,490004,287441738,301726,6233361599,100179,301598 +0,100,100279,420287,412400279,10000410000,10410400000,411400287,400371607,301599,6229261592,100179,301598,4000381613,1642444872,1632304872,444992,1632304992,460225,6212402690,6201262690,2260225,301583,510260225,110400225,301591,420856,10000100000,480004,210400179,9999202564,10000410001,411400856,301598,20002000000,0,0,0,24241432082,28280006263,24155444159,24400654559,26249565500,20000822181,22186820000,0,0,0,0,0,0,100203,120204,172338,121907,400201,420201,9999201674,10000100001,400201,2310181402,1351653,480004,400154,6309260154,410401667,401261667,5401280154,321667,421461,10000101667,10010180230,1351653,1211667,401261674,6400280201,10000410000,301674,1237440846,420846,14400289998,412400846,420222,10000100293,301819,460208,421696,1220260208,60290208,460154,101687,2450000,1480008,361711,410401688,1400329,401261688,421688,10000410100,1450209,1420154,1490002 +0,100,361707,10000490008,9400280154,430000,10000120208,10010400208,502260154,301696,3331693,502260154,100329,301688,4000381713,301715,1642444872,1632304872,706444872,208304872,421687,14400289999,100243,10000300000,100290,490004,460290,301726,104217,421738,14400289998,412401736,410273,400371739,10000410000,420273,16710400000,10000100000,10411400000,412401736,410400273,301738,414227,411184216,411400273,411401744,1274227,461744,341731,441687,157301682,33941430000,460226,421755,14400289998,412401760,10000420000,10000100000,9999201755,9999211757,410273,412400273,10411400000,410401760,421755,14400289999,10000300000,100251,490004,16410400000,401270251,10000100000,6400361764,301770,10000100000,410118,1400185,410247,4412400639,1109361784,410446,1400185,414228,2210400639,1101361784,1108361784,420252,1400242,10000100001,400230,2112400229,441537,301514,441770,301768,490002,4410400612,102133,304023,100343,301799,100344 +0,100,442694,302675,441819,300846,6410400154,6400280154,101361809,104361811,105361815,301799,10006330000,301799,10000100000,410401738,4400280281,301728,412401818,420281,10000100000,301818,301803,1331823,16400280000,16273300000,441687,2077301682,31545000000,442694,302678,442694,298302706,100317,301799,1103601,444046,304023,1260267,100321,301799,442694,302699,5260257,6229271844,100302,301799,301835,6229261844,442597,302591,442820,661302736,460186,301835,1260261,104217,6410400330,442694,330302706,100322,2201260257,301799,100340,301858,442694,299302706,442694,302699,1260261,301801,441819,300846,400227,9269361876,442694,339302706,100227,301799,442694,302678,442820,657302736,442694,302699,1260261,301860,6410180348,351893,442694,302678,442820,657302736,4260257,100324,301799,410220,1400221,420203,1211801,1400219,301801 +0,100,1260267,441819,300846,444018,304013,301801,442694,328302706,1454116,301799,444046,304019,301801,460267,441598,100179,213360916,301582,442694,325302706,442694,302699,6229271592,100179,490004,287441738,301726,460256,101260256,301980,460270,410256,101371952,102371938,102270256,460260,442582,302577,301980,442543,302539,278441755,1943301750,6141001942,442962,304064,442694,322302706,1260270,102270257,101260256,100331,301799,420281,10000410000,2202371976,1260256,442694,302678,442553,302544,442582,302572,442571,302554,441819,300846,180313,410342,1351970,410341,1400331,400227,442694,303302706,100227,301799,442553,302544,442582,302572,460257,3260257,301801,2332036,420272,460272,1211801,6410180352,352008,6410180360,352001,420257,10000301993,302023,302012,302039,302039,302025,10444411680 +0,100,442694,302678,302023,442674,302640,10001100000,11210260000,331801,1260267,301801,295442597,302586,420274,302003,442694,302678,460270,302041,1100362025,441687,2025301682,34661000000,441687,2027301682,30147000000,442543,302539,283441755,2016301750,277441755,2020301750,460226,460186,460270,460261,460257,460267,301801,442274,302272,301998,442553,302544,1260261,442820,657302736,442694,293012706,278441755,2054301750,442274,302272,460260,279441755,2051301750,302025,442962,304064,302046,100305,302060,100308,400228,442820,657302736,1260267,302077,442597,302591,302061,442820,609302736,6229262045,442694,304302706,100293,301799,293442597,302586,460186,301801,442820,657302736,5260257,442694,302699,1260267,441819,300846,202362699,460184,277441738,301725,420277,100184,2490008,12310400000,460193,460184,441313 +0,100,301310,224362089,9108362110,203362115,223362120,214362138,204362119,1480002,100184,1490007,5510400193,302096,1480001,100184,1490001,400184,301310,100184,490002,8310400193,302096,6229272129,100184,410193,372129,8300372156,210400193,442962,302918,420277,9999201801,302095,6229262129,277441755,2134301750,7043002133,2480004,1430000,400193,302125,6235271588,460194,460193,441598,301582,402280194,10000490000,190193,100179,214362153,9992211582,1220260193,442962,302918,302139,1230260193,6235261588,302125,490002,8310400193,302125,1100101,1120100,362164,442962,302948,6401260002,100002,170651,400002,490004,124217,274441738,301726,1260267,404260257,104217,410002,1404217,400205,441819,300846,6239261288,441305,301257,6239271288,100323,301799,442694,302678,1260267,441819,300846,6710180332,352186,180297,352186,180306,351803,6710180316 +0,100,1352188,460267,301803,442694,302678,2004500000,2501520400,300700,6410180346,352210,100294,301799,442597,302591,100347,301812,273441738,301726,411402224,411402225,1490014,276441738,301726,420283,16400280000,10000410000,2311402224,812402225,420283,16410400000,442694,319302706,442694,302699,100245,442694,302696,100303,1260260,301799,327442597,302586,442271,302263,442694,303302706,100217,1102362247,302256,6400280217,10000410001,1400309,420276,16400280000,10000100000,173145,140309,16411400000,420276,10000410000,2200371801,100217,282441738,301726,301801,442694,296302706,406262694,277441755,2695301750,441687,2695301682,30147000000,302271,420281,12201280000,100212274,281441755,2278301750,552002277,6410180357,422274,10001350000,420276,16400280000,412402303,412402306,10000420000,412402305,1450000,10000120000,1332293,410243,1400217,302299,442694,302699,442271,302263,442694 +0,100,302678,276441755,2302301750,6742002301,1480010,102303,170651,122305,6410402306,2200372339,100217,282441738,301726,311442597,302583,282441755,2333301750,280441755,2318301750,6938002317,1260259,295442597,302586,280441755,2327301750,1260259,275441755,1801301750,12,6600362336,442694,302696,442694,296302706,302321,280441738,301726,302313,275441755,2318301750,99,420281,10000100000,6410180352,1351801,420274,10000100000,311442597,2332583,301801,6410180360,1352364,424216,10000460000,11210270000,12389270000,104216,490004,10000120000,283441738,301726,2359441738,301726,1264216,1260259,301801,6410180357,1352375,10000420000,10000410000,6411180352,1352375,420274,10000100000,3332375,275441755,2378301750,441687,1801301682,30149475000,420276,12201260000,1450231,302260,460259,420283,16400280000,10000100000,6410402392,102392,274441738,301726,100312,301799,10000000000,295442597,302586,301801,100203,490004 +0,100,292441738,301726,6104272424,6400284217,400212407,442820,609302736,6412404217,4404264217,6271271450,1260267,1260262,441819,300846,180306,1352418,6229271450,6112402424,460267,301803,100362420,302408,6400280201,10000410000,2103372424,12287270000,299302429,11260270000,420292,14501260000,302408,11280270000,423792,444054,304053,302408,1260267,6229271280,4260257,442820,657302736,274441738,301725,441819,300846,441305,301257,288441738,301721,100320,301799,441819,300846,1260258,400241,1260267,6206271460,441819,300846,6206261460,6400280241,360212471,441305,301256,100002,6400280201,11220270000,441738,301728,6206261290,442820,609302736,301801,6400280201,16612400000,12283260000,412500,411402485,460241,441598,301582,204362483,224362482,301582,2260241,1270241,321582,302485,460221,410251,411400188,410286,1400285,460286,410262,460262,1400263,442639,302612,400203 +0,100,12112400000,12103260000,301801,442639,302612,11102270000,1260265,100331,301799,442674,302640,301801,420283,10000100000,1490002,4410402359,442674,302646,301801,460220,2101260220,302521,460220,5260257,442694,302699,301801,1260271,104100,400176,400177,100300,301799,442597,302591,420271,9999201801,100301,301799,6229261516,301801,442694,302678,442694,302699,302543,442694,302678,442820,662302736,460186,1260270,442820,657302736,460270,302553,410199,411403810,410223,411403779,410846,411403870,410279,411400856,6229261582,300916,6229271582,413810,411400199,413779,411400223,413870,411400846,302571,283441755,2575301749,7039002574,442694,302699,460186,442571,302554,442694,294302706,302582,275441755,2586301750,1053002585,422597,14400289998,10000100000,442694,302709,420281,12201260000,442543,302539,420281,12201270000,302597 +0,100,290441755,2598301750,288441755,2603301750,1565002602,480004,410400290,302972,290441755,2611301750,100251,490004,401270251,302611,442820,657302736,274441738,301725,288441738,301721,441819,300846,400331,442694,315302706,1260266,1260200,442694,302699,442694,318302706,100251,1480004,4411400623,442820,623302736,1260260,6400280201,100200,10410400000,18201270000,302639,420259,460259,1212661,420274,10000100000,1332661,6400280201,11210260000,420274,10000100000,3332652,302653,1260267,480004,430000,284441738,301726,10000100000,490004,10000400000,11210010000,283441755,2664301750,4,480004,410402668,100251,490004,6410402668,6400280331,18299270000,401270251,420274,12201260000,302674,100362696,101362709,102362699,275441755,2683301750,441687,2699301682,34652540000,6710180317,352688,442972,302977,302678,442274,302272,302694,414217,6411401631,6229262690,302694,400217,283441738,301726 +0,100,302694,420260,460260,1212694,420281,12201260000,1450040,302726,422694,14400289999,10000100000,420275,10000410000,6600372726,400224,12210180000,342726,1342729,332718,302726,3100362720,302726,420283,10000410000,1100372729,10000420000,10000410000,1100372729,275441738,301726,302694,275441755,2732301750,10000,442972,302977,100224,302709,422820,14400289999,10000100000,460193,460192,10400193,10400192,400189,410268,372755,460268,6240362752,710180627,1352755,6401274217,302820,6401274217,4101260193,4101260192,184112,342812,420193,10000410239,1105372763,442894,302844,302820,16400280239,10000410000,400190,1107372801,1105372760,11101260000,2400154,10000420000,10000100000,16400280000,10000410000,1103362785,1106372785,441770,301768,6710180186,6710400186,1352786,420154,441755,2801301752,9629000000,460186,420154,441755,2790301752,302796,291441738,301726,16400280000,1103362796,10000100000,1106361752,100664,400193 +0,100,460189,291441755,2807301750,100192,1430000,400193,410190,1400189,302760,400248,442894,302844,110664,302797,4332821,6332826,7332842,8332831,1210260193,9332831,442962,302918,302820,410193,711180624,1352818,1260268,302818,104217,480004,1120193,410400193,302818,104217,4430000,410261,372836,7430000,4400280275,410270,372840,4400280278,441738,301728,4104262940,302818,420193,10000410239,16400280239,10000100000,400252,1103372869,1101372861,1102372864,1104372879,1105372903,1108372879,10000410001,1100372858,1400185,441738,6400362912,302879,8332880,10000410001,302865,410135,1400185,441770,6400361764,302880,460252,11400252,100189,3332894,1332877,1490010,290441738,301726,102917,400185,100252,480004,410400193,441738,9332912,8332886,302887,5108362912,124096,1332895,100189,3332893,442962,302918,460185,302894,170157,130188,490008 +0,100,420284,12210180000,352912,16400280000,302899,410189,1210372879,1230372879,100273,2400273,10410400000,420252,10000100001,302878,1100002,490004,170673,124217,301728,26345545700,104217,480004,6401264217,410193,410400183,130101,420180,400362936,134100,400362932,412400207,100183,10000400003,1260180,420207,13201260003,1260180,420180,10001400002,1400184,2000382940,302942,300444872,183304872,4112402940,410183,411400101,410180,1180181,1342962,1422338,1450004,10000130101,1202950,312953,400101,1100560002,1260002,460180,460181,96260181,460003,422949,980290003,302962,1212400240,100240,283441738,301726,420283,10000410000,1100372971,302972,2400226,302972,100609,442820,302739,302972,400216,2333024,3333026,4333201,5333204,7333201,443644,303630,443644,303635,100216,1333026,8333033,6400362995,444004,303792,100175,302965,420281,10000100000,5514235091 +0,100,6710183028,1352991,100240,2221363007,410241,2221373004,302991,1400240,400241,1490010,6400280240,10000410001,1480000,1184100,342991,420276,16400280000,1480000,1450000,10000120000,1332991,1490010,490004,10001120000,16410400000,100241,302965,443644,303630,6400280216,10000300000,122380000,441687,3032301682,30167200000,460216,110240,400240,100216,400215,6210273993,460216,6112403051,444004,303792,6210263993,333045,6401260215,1100363050,430000,400240,443713,303698,442820,667302736,420275,10000410000,6700373064,6402260215,6711180340,353067,6402260215,6711180322,353067,441687,2694301682,30157200000,444046,303076,302965,100273,412400273,10000400000,411400275,444046,303076,460261,1260260,302694,6400280215,10000100776,304023,100240,460268,6710180249,353114,410241,6710180250,1353087,2100373114,333094,442820,303680,443713,303698,100627,303096,1100363092,100643,442820 +0,100,302739,443713,303696,4450000,100240,2101363104,1203104,100241,2101363107,2203107,412403100,10000413129,444018,4218204006,423100,10000103113,100302965,1100241,400241,400240,1102363126,442820,303680,100241,1100363126,1110570,442820,302739,1112400240,100296,400216,302991,24667144667,24667144653,24653144667,24653144653,443752,303741,423138,410240,1100373139,9989210634,1353141,9999210000,442820,302738,302963,420283,10013110000,10000400000,302972,410240,102602,2201373157,442820,303684,100240,1333160,2100363160,103590,444046,304023,302963,441687,3156301682,30159610000,410654,1403176,100240,2100363173,1333173,443713,303698,442820,3176302736,303073,441687,3168301682,30159610000,0,442820,303684,443735,303725,1102363184,104113,303157,6400280240,10000100001,490009,1110400640,104109,303157,443752,303741,443713,303698,1480010,104115,2100373198 +0,100,104114,444046,304023,302964,442962,304064,302972,6400280216,412400611,100611,302974,283441755,3211301750,302972,400240,460226,6400280228,10000300000,2200280257,1213029,6400280241,10000410000,3411403015,100241,1333294,1400241,10400241,420275,10000100000,6410180294,353233,420281,10000100000,6410180350,1353234,1260264,460268,100241,1109363294,1101363239,1110183238,5001343294,100240,2103363284,1102363270,443713,303698,410241,2111180240,2111400240,353254,2100373251,6400280453,303252,6400280552,444018,304005,1100241,1108363260,1103749,444046,304023,1103015,411302,6201373266,6400280241,444046,301772,303268,2333262,6333262,460264,302964,6410180246,353284,6410180245,353284,2110180241,353242,2100363280,443771,303753,303282,443771,303772,10400240,303270,100817,420264,410241,2312400240,2103260240,1213257,490006,1108373257,490006,303257,2112400240,441687,3268301682 +0,100,30167320000,443666,303645,420283,10000100000,6710180186,353308,400186,400241,442820,633302736,420274,10000100000,3333312,303313,1260267,480008,430000,1130668,410400605,12201260000,100605,302974,443752,303741,110241,1353325,400241,170240,2100363354,410240,6611180249,353357,442820,1100373667,443713,303696,100240,1110183336,2001353346,6400280240,10001110001,460230,363354,1480001,190230,1100373341,1490001,10184100,104111,1353157,460229,443771,303766,6410400240,103353,2800303157,441687,2965301682,30113376911,442820,303680,102784,303157,420269,460269,1212972,100620,302974,460271,6400280240,10000110001,140176,1490010,410280,190251,400154,100251,124100,410400174,130177,1120668,490004,6400280241,16410400000,10411400000,1100154,490004,460280,303397,6400280240,10000100001,140177,1400177,1260177,10000100001,140176,1400176,100240,423371 +0,100,410240,2221373402,441687,2972301682,30163640000,441738,301728,302972,443724,303719,100632,302974,1102301,6229272045,303421,100240,1100363430,1102363430,1333430,1101822,303421,443713,303698,103497,410194,460186,411400611,411400642,410240,2111400631,444046,304023,302972,441687,3420301682,30170640000,6229271302,302972,443735,303725,1102363440,1102585,303198,1112400240,6400280240,10000410001,1480000,1490014,173145,6400280241,10001120000,16410400000,442820,303684,1103458,303198,443666,303645,460186,274441755,3459301750,553003458,2210400607,6400280241,10000410001,1400185,10000410000,1288373473,1490006,5104363479,2211180607,353473,2200373473,441687,3473301682,30113370800,102317,444046,304023,1112400241,460267,303022,1490002,2103373473,2111180240,353473,6400280552,2100373486,6400280453,444018,304005,303473,1100363493,441687,3493301682,34661000000,283441755,3489301750,274441755,3498301749 +0,100,6273003497,410265,373506,480004,410400630,444046,304022,460265,302598,286441755,3506301750,410219,1400221,410285,1400286,410263,1400262,410284,400373552,100218,442962,304064,100188,490004,400195,420284,9999203546,10000100001,1203526,410400289,480004,410273,2400273,10001400000,410400284,1333538,170651,130195,6410403554,442820,3556302736,289441755,3541301750,303522,480004,410400604,442820,604302736,303538,100218,480004,410400611,401260611,442820,611302736,460203,303504,81100000000,1135540000,103316,6225262660,442674,302640,6225272660,460267,400242,1103260242,442820,663302736,460266,420265,1212972,410284,400373575,104217,400218,442820,609302736,404260257,302972,443724,303719,6400280240,10000410001,6400280241,100240,2221363014,11101260000,441738,301728,303022,274441755,2598301750,313003590,100606,302974,410619,303164,414217,6411180202 +0,100,1343599,6411400202,274441755,3602301750,8990003601,6410404217,8430000,480004,303201,1260269,302972,100240,443735,2100363725,302964,443713,303698,100644,302974,4400283618,444054,4230304053,1260267,283441755,3623301750,302972,400154,6400280154,10000100001,490006,423627,14410400000,302972,283441755,3633301750,303637,400240,303641,283441755,3640301750,441687,2972301682,37161000000,400241,1100363643,303644,460226,303644,410259,373651,460259,443713,303698,303666,420274,10000100000,1333648,442820,303684,100240,1100363666,333663,441687,3662301682,30111130000,400240,1102277,444046,304023,303666,303674,442611,302606,6410400241,1103260241,100602,302739,442611,302606,6410400240,1103260240,100601,302739,410240,1100373674,410241,1100373668,420226,9999202820,442611,302606,420226,16410400000,11103260000,10000410000,1400242,100663,460226,302739,424104 +0,100,303699,424100,10000100239,412403760,1100363713,442820,303684,423760,10000100239,1333717,10000100569,442820,302739,423760,11212400239,10000100239,333713,442820,10000303666,423760,10000100574,303708,100240,443735,2100363725,442820,1100363667,303724,100240,1102363736,443713,303698,2101363735,6400280453,444018,304005,2101260240,100240,303735,2101363735,443771,303772,10400240,303734,442820,303684,420275,10000410000,6711180313,1353752,275441755,3750301750,3100000000,110240,400241,303752,400154,6400280154,10000100001,460229,460230,363766,2261260230,2450000,1480003,1490001,2201270230,3100363762,810400230,441537,301514,10000100000,2310400201,100201,303771,400154,6400280154,10000100001,460229,2101260229,184110,343789,2450000,1480008,400154,210183783,1450051,1343787,450280154,10001490000,400230,303766,441687,3775301682,33436373800,4454226,410241,1100373798,9996210000,1102373798 +0,100,9998200000,2101373800,9999210000,410240,1100373805,9976210000,1102373805,9988200000,2101373807,9994210000,10000410810,1400178,410178,1450000,1490002,1400178,110400196,9103363957,1480001,400191,420191,1101373824,1102373830,1103373833,1104373839,1105373845,303903,6400280552,444018,304005,420191,12112400239,303809,442820,10000303666,303809,10000100239,443771,303753,420191,10010400239,303809,442820,303680,420191,443713,303699,303809,6400280240,410240,10000100001,1490000,400816,6400280241,410241,10000100001,1490000,400309,410216,100191,460229,101363873,100309,6711180303,1353864,220816,303889,6711180296,1353868,240816,303889,6711180314,1353809,2450000,250816,303889,2101260229,100309,6711180303,1353879,120816,303889,6711180296,1353885,140816,1490010,373889,303900,6711180314,1353809,1480010,150816,313900,10400230,400175,441537,301514,10001100000,10400175,410201 +0,100,6411400175,100175,304004,441687,3890301682,33436373800,10000100239,333913,410216,2100373913,1420191,10000110242,10000400242,420191,10001100239,10000400239,16400280239,10000410001,373945,1184102,353950,5450000,9999210000,1490019,1100363919,1490001,11184100,1353809,9998203950,100240,170241,2100363809,410216,9999210000,612400594,6248373937,420191,2213809,6224373938,303809,6201260594,6248260594,1420191,443713,9997213699,442820,594302736,303953,6109273051,410216,6500373953,6248373955,303809,410216,6711180296,1353809,1420191,10000100242,400175,304004,442820,303684,100216,480004,172338,400309,400816,100241,2480010,190816,100240,2480010,190816,190816,100216,4100363987,4101363995,100196,190816,110240,333981,170241,1333981,2101363984,441687,3984301682,30159610000,420816,10000100764,304002,100196,120196,190816,190816,420816,10000100668,9988304002,9928204001,100196,15377781547 +0,100,142663,152326,1490010,190816,420816,10000100740,444046,304023,304004,10000410001,1400185,444054,304053,2400242,5104260242,100242,490004,400242,1102574,444046,304023,460186,304018,420274,16400280000,412400630,101942,442820,404036,414036,1454026,1490002,1404036,200364037,232363667,233363668,410404026,424026,10000100569,302739,4036,334046,410240,2111404051,2111404052,2480010,410404026,424026,10000104046,400175,304046,100000000,0,10100000000,10000000000,0,10000000000,10000100000,1104364054,480004,170157,130251,410400251,1490004,16410400000,16401260000,11101260000,304053,414217,400184,1480004,411400184,410400183,7334071,304072,1260184,2000384074,304077,8334077,208444872,183304872,410184,420207,100183,410180101,344092,10000100003,400364092,410180183,344092,130183,490006,4410404089,214090,10411400004,302962,401280181,10001400005,302945,2100004099 +0,100,0,2000004101,0,2100004103,1,2000004105,5110000000,2100000000,2,2000000000,5120000000,3000530003,1604380000,371720000,6099999999,5822570000,9999999999,6034037172,4959035600,4959045600,804610000,0,0,0,403820000,0,1042600000,1203840000,0,842730000,0,842750000,0,0,0,803780537,403804270,0,0,805340000,405440000,804630000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1005460562,604560000,0,0,842394262,605540000,605560000,0,0,1242570000,0,605580000,1203870000,1004650000,1403900504,605640454,1242540000,605664244,1203980000,604010512,642520000,1604050514,604114249,604160516,0,0,0,642470000,0,1004290000,604314241,0,0,1804354266,0,604410000,1804670000,0,604430000,1404450000 +0,100,1404260000,1604580000,0,0,1042340000,1204480524,1003690000,0,0,0,1003714236,0,1203730000,0,0,403760000,0,0,0,0,4277,2000000,3000410003,3000090003,3000380003,3000480003,3100170000,24649670000,3000140001,24653564163,3000560003,4871,4042260000,3000540003,3000220003,4042300000,3000090003,3000720003,3002400003,26659496345,842370000,3001390003,25945414400,3000450000,26258596300,642420455,3000750000,24567570000,642450507,3000870000,25356470000,3000560000,26249550000,642500515,3000100000,24356620000,3000230000,26341550000,3000130000,24159436249,25500000000,3000650000,24159436341,25500000000,3000470000,25956546767,1242630000,3000200000,24159434356,26200000000,1242674108,3000140000,24555634959,24500000000,842710000,3000330000,26249554800,3000240000,26341554800,3000160000,24356624800 +0,100,0,0,0,0,3000380303,1000630388,300304,1070060353,1008500000,1300580000,4000380319,1000590333,300307,3000380317,420081,50290100,1001610352,401260347,205260311,310333,300310,1000060100,300333,3000380330,6105260347,420081,50290250,1001610352,405270322,401260347,320321,460347,6101260347,300333,1000060000,1000060100,1000060200,1101520100,100100,99360346,1450100,1420336,10000120200,1200338,310341,360309,40090082,9669009669,1101580000,300333,757007250,10000,0,0,0,0,0,4000380302,300003,1000030000,1000030100,1000030200,300003,60000300300,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333332,0,2222,0,0,22222222222,22222222222,22222222222,22222222222,22222222222 +0,100 +0,100,0,0,0,0,41003014586,1008500000,460002,422959,990290002,41008014615,42004014673,42000014644,42006014731,42002014760,42008014702,1300580000,4000384519,304517,80094550,8421001248,304513,1632444872,1632304872,444992,1632304992,300854,20002000000,0,0,0,24241432082,28280005655,20053495545,20048625700,26545596249,25655000000,20000822181,22186820000,0,0,0,0,0,21615000000,20000000000,20000000000,24241432082,28280005741,25745590063,24157450065,24559624956,25500000000,20000822181,22186820000,21600000000,25753454162,24500594541,24468004849,24748206257,24545440057,25949556345,25900000000,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333300,20,3311111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,21111111111,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333 +0,100,33333333333,33333333333,0,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333300,0,0,0,0,0,0,0,0,333,33332222000,20022220,2200222200,31111111111,0,0,0,0,0,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,30000000000,0,0,0,0,0,0,0,0,33333332222,20022,22002200333,30000000000,31111111111,0,0,0,0,0,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333330000,0,0,0,0,0,0,0,0,33333,33222200000,3333333000,0,22220 +0,100,0,0,0,0,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333331111,11111131111,11111131111,11111131111,11111131111,11111131111,11111131111,11111100000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333222,23333000000,311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11311111111,11000000000 +0,100 +0,100,0,0,0,0,403264897,7000384905,424875,104925,10000300000,424907,10294439,50294452,444451,304449,304902,8001454878,490001,1490001,134927,1108264911,314912,1105264916,314921,404465,304911,1480010,104465,304896,9985,4978125000,10000,80,5100000000,5120741240,5062245935,4800000000,4978125000,5120000000,5500000000,5216000000,5110000000,4942415900,5162235322,380273,2404464,424956,314436,404467,424939,14400289999,10000410000,1404989,424939,464992,464993,6412404990,10000109997,334955,134464,410404959,1454943,10000419998,1108374961,124868,304962,124467,2100374973,404991,334966,4220264990,412404971,504444469,4989304469,104467,424464,300273,300033,1480008,464991,8811404991,334978,4220264990,430000,8800374981,134994,223264992,6203264990,110404993,490001,8910404993,9108264993,7108264993,304966,4900000000,23300030000,6223530000,1008500000,1001520000,1001521000,2415748348 +0,100,14709247457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10000,424872,2404945,10000419998,3100374887,3122374887,3133374884,3144374886,3155374884,3166374886,3177374884,304888,1010064987,304888,1010064986,1010064986,14400289999,4122374909,4100374897,4144374919,4188374928,1480001,3211404895,11230060000,304936,10000100000,444951,304946 +0,100,10000100001,444984,304963,10000100001,444962,304952,1010064988,11010060002,304936,10000100000,480004,444962,304952,1010064990,1480001,3211404917,3101274917,11450060000,304936,10000100000,444951,304946,10000100001,444984,304963,1010064991,11010060002,304936,10000100000,444951,304946,1010064991,1010064991,10000100001,444962,304952,424872,10000419998,3111374942,3122374944,3166374944,304945,1010064987,304945,1010064986,300073,1010064991,10000100000,444962,304952,1010064989,300079,9001480004,104989,1104264952,8430000,2490001,1490001,1101274952,324955,10404985,1010064985,300090,1480010,104988,1490000,2480001,8430000,2480001,4410404985,1010064985,1490004,444962,304952,104990,8430000,490001,1490001,8430000,490001,1490001,480002,10404985,1010064985,300112,20000000000,21602020202,21615020202,20002020202,20000000202,20000000002,20000000000,10000,424992,2404999,14400289999,11140030000,1450000,12210400000,300007 +0,100,0,1390000,310004,5103260022,1018500000,400012,2400013,1420008,12739,1400560000,1308520100,300100,0,5000,420000,412400024,1004500000,1100580000,420013,390000,250020,100012,10023,5112400022,300024,420027,10290012,290199,2400012,411180012,1350027,1100520100,410069,1400048,1420035,1450100,10000120200,10000120201,10000120202,10000120203,10000120204,5200036,310043,360048,40090092,9669009669,1101580000,300031,100101,420048,4330060,460071,299260071,401280071,10000410100,1280370072,370031,16400280100,10411400000,300053,6610400064,9999210000,412400064,10000429999,290000,1480007,120070,190048,300048,100101,1,99,6711180091,1350053,300200,1111,420074,10000100000,170075,490004,10400091,401260074,4450000,41000500091,1100520100,100100,10180091,350032,30090096,9669009669,300083,80000000000,21602020202,24348454352,20062645400,24559595659,21662454754,24555630045,25959565902 +0,100,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,0,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,30000000000,0,0,0,0,0,0,0,0,31111111111,31100111133,33322222222,22333333333,11103333331,11100000000,0,0,0,0,0,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33000000000,0,0,0,0,0,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111 +0,100,0,33333333333,33333333333,33333333333,33333333333,33333333333,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,41000010232,300233,1008620129,5512400200,5401260200,310238,42000010238,10234,42000010240,300243,2004630158,2006630187,2008630229,1000650245,300246,1008630229,410013,300025 +0,100,4000380703,1642444872,1632304872,2700520900,2000521600,2000522600,1453200,1420706,10000123600,10000123601,10000123602,10000123603,10000123604,10000123605,10000123606,10000123607,10000123608,10000123609,10200708,310720,360732,40093460,9669009669,2201580000,2001580000,2001580000,2001580000,2000520400,2000521400,2000522400,2200523400,300707,42006013492,420292,9999200738,423554,441691,301690,100208,8330742,413531,1403450,420275,412400751,9999200752,441847,301812,30102030000,420751,10000420000,300743,0,100002,6400360764,100101,120100,360759,441733,301765,100002,460002,6410400002,6401260002,300772,413546,1402160,441733,301734,413536,1402160,441733,301734,413547,1400185,420775,104095,403495,6400360783,480004,10000410001,441733,301739,103495,400360787,423495,10000100000,300776,420788,104097,440783,300776,460185,2004500000,2000590795,300793,2300521857,1109271755,1109271709,420258,441153 +0,100,1211123,1102271755,1102271709,103544,610401600,463502,4450000,104217,403449,8142210810,2401441,10000100000,1330832,360834,10403501,6400283501,10000100000,1103360832,421441,11210260000,300827,6400283501,10000100000,1104360827,1263502,441691,301690,423501,9999200832,10000100001,403501,300821,421441,1200810,423502,1210805,4400281120,10000101857,360891,1330842,4401261120,300836,16400281857,10000100000,4400280844,42000501120,6410404217,490002,4410401122,480006,410401122,462217,423555,292217,461121,202261121,2004500000,2000590859,300857,2100522318,102318,181120,350872,30093457,9669009669,300842,461121,202261121,2004500000,2000590871,300869,2100522318,420873,1450098,10000122319,1210874,310877,360882,40093460,9669009669,2101580000,300866,421121,10000102317,402160,441458,301448,300840,201261121,310866,300882,2000590893,300891,2008500000,1450000,8430000,441733,301701,100100,8330901 +0,100,360903,441733,301765,103550,400002,441733,301765,1000590909,300907,1008500000,420968,10000104116,400967,6400280967,9999200925,310916,1290260967,10000100001,8330943,1109360928,420967,413548,811400941,10000100000,1000210912,201270968,320910,300969,6400360930,300920,2211270967,10000100002,10000410003,3430000,320936,2450000,310950,401653,1401654,441847,301812,33234353600,300920,310944,1108360947,1289360930,300920,413553,811400941,300928,430000,1480010,1490001,123528,1108360957,490001,300952,401653,1230261653,1450000,1490001,123528,1108360965,490001,300960,401654,300939,0,99,103449,6410180202,340973,100202,133525,1480008,310976,1450300,123549,1490001,490001,8101270976,320977,490001,401653,100251,123532,330988,1450000,1480004,1450003,123549,1490001,490001,101270989,320990,490001,401654,4000381010,101654,8810181653 +0,100,341004,441847,301812,36866707147,441847,301814,34547495036,441847,301814,34751535037,420292,1212474,103450,3105361017,916444872,2418304872,301020,4000381020,916444872,2164304872,4400283447,442463,302460,301106,413556,411401023,403495,6400283495,10000100000,403495,480008,490004,403496,4450000,41000503496,1100520100,10180100,351042,30093457,9669009669,301034,1100520100,1450100,1421042,10000120200,10000120201,10000120202,10000120203,10000120204,5201044,311051,361055,40093460,9669009669,301053,100101,4331060,413532,211401055,301041,401102,490004,6410183495,1341071,351071,101102,480001,4210401068,200261055,201261055,301055,101102,480007,121102,490004,6410183495,341078,301065,1101580000,113495,480004,173539,191102,101055,1421102,410401088,9999211087,413495,10411400000,1450100,1421089,460199,10000130200,10000130201,10000130202,10000130203,10000130204,5201092,311099,400199 +0,100,1100560100,301020,0,1000591105,301103,1008500000,4450000,290400,290500,290600,1000591112,301110,1300560000,103450,4000381118,401116,0,300233,3102361115,300233,1000000,0,0,104217,180202,341127,100202,404217,462217,423555,292217,462437,441358,301351,104217,402200,102201,2331142,441847,301812,3060809000,301132,3000381144,4000381146,1602444872,2201304872,441429,301359,102427,10183535,1351155,102428,10183543,351153,102427,2331180,1480010,153552,1402161,102437,441811,301785,301176,102157,490002,4410402217,104217,480004,410402217,410401122,490006,4410401122,6400282157,10000100000,1109361196,1108361229,441847,301812,31047141500,301278,1480010,153552,1402161,1450000,441811,301785,301190,6400282157,10000100000,1108361194,441847,301812,31712141500,301146,210402437,301146,6400282157,10000100000,403495,490002 +0,100,4410402217,442463,302460,0,490004,2210403495,103495,2200361225,173541,490004,124217,490006,403495,422439,442448,302438,103495,10000400000,2403495,103495,490004,4400283447,442448,302438,301228,430000,441733,301701,6400282157,442463,302460,301272,8331256,2200361252,173541,490004,124217,490006,403495,422439,442448,302438,103495,10000400000,2403495,103495,490004,4400283447,442448,302438,6400282157,301229,441733,301701,6400282157,301229,403495,6400282157,442463,302460,0,173534,414217,194217,1113495,1403495,441733,301701,6400282157,413495,1404217,301229,6400282157,10000100000,430000,10000400000,104217,16410400000,441358,301351,462437,102201,331334,3000381285,4000381287,1602444872,2201304872,441429,301359,102427,2331322,1480010,153552,1402161,102437,441811,301431,301318,441691,6400282157 +0,100,10000100000,8331303,430000,480004,402174,6612402174,6212262174,5103361690,102157,490002,4410402174,441429,301359,422427,100211318,102174,10000402318,301278,441847,301812,31921090000,301278,1480010,153552,1402161,1450000,441811,301785,301318,6400282157,10000100000,210402437,1108361287,301318,101272209,422193,10000102225,402151,441458,301448,301128,401262201,101272223,321327,441358,301351,102201,331348,441847,301812,30624260000,462201,423557,150292201,462162,402262162,444992,2201304992,301358,462158,462427,423558,90292427,9400282162,10000102201,422162,10000490000,480008,502262162,402163,200361378,224361377,9108361413,9104361383,9105361383,9106361383,301378,1220262427,9840201363,441847,301812,30628295809,301426,1422158,10000490008,9400282158,10211390,10000122437,10010402437,502262158,9400282162,10000102201,422162,10000490000,480008,402163,502262162,162211379,210183527,341383 +0,100,214361383,102427,331426,102163,204361426,9400282162,10000102201,422162,10000490000,480008,502262162,9838201404,301379,1480001,102427,1490001,402427,9400282162,10000102201,422162,402262162,10000490000,480008,9108361413,101430,402158,102158,490008,402159,301429,20000000010,200361433,301785,412158,311183526,341785,421441,102427,10010182175,351443,2211438,1450024,301785,10000102176,6410402157,421811,10000300001,70000000000,11448,181447,1341570,6290361548,6291361548,8331498,9331498,7331504,6331510,5331511,6299361458,6230361582,6200361586,6212361591,6201361557,6202361561,6203361564,6204361567,441847,301812,31926000000,301580,6229271448,301570,1000600000,1000610000,2000610000,6260361491,6262361491,6264361491,411473,1101361483,411474,1102361483,301493,6261361487,6263361487,6265361487,301493,1111402160,102160,6229271448,301448,411472,1101361487,441847,301812,31960380000,412160,301487,1280272160,1101122 +0,100,1122160,311502,410402160,301570,1270272160,1131122,4410402160,311508,301570,0,1220272160,1240272160,8210401509,8400281509,10000102218,361598,8331524,1122160,131509,410402160,14400282218,441613,301602,301570,14400282218,441613,301602,10000100000,1108361530,10000420000,2401509,1102160,173533,1123503,463503,490004,442448,302438,1104217,8430000,421509,461509,442448,302438,102160,462160,6710402160,301570,6240272160,4331570,5331570,1220272160,6331512,7331512,1220272160,301499,301470,411556,1401448,301580,301475,411560,1401448,301580,412160,411403503,301580,411122,4411403504,301580,1102160,1123503,463503,410402160,1102160,1123504,4410402160,463504,441733,301734,421458,10000300001,4400282217,9999211584,412402160,301570,1102160,490004,1124217,6410404217,301580,4400282160,10000410000,422160,16610402218,1480004,10411402218,301580,441847,301812 +0,100,33221000000,301518,2403495,103495,490004,423542,16410182175,351614,2211606,423495,10000410001,1100371613,1400185,301613,10000412174,1400185,423495,301613,24567635941,25345466300,35741594555,36348456249,26200000000,35449626249,25547000000,25541544500,24341594400,34567634559,25541530000,35759564345,24464594500,25556630000,34445435341,25945440000,35759454649,26700000000,34954575956,25745590000,34558644965,34153455543,24500000000,34649554962,24800000000,35762456444,25620565700,24649455344,25655000000,34845414445,25900000000,36455444546,24955454400,25341424553,22000000000,25541544500,25541544500,34955626359,36443634956,25500000000,22300000000,26356634153,24348454352,26264540000,34356545749,25345440000,35759564759,24154000000,24555446200,24163000000,36541594941,24253456200,24245474955,35349425941,25968000000,34955435659,25945436300,36268544256,25349430000,34341594441,26359565500,34356545749,25345590000,34341574143,24963680000,34567434545,24445440000,35445545659,26800000000,24656590000,35642514543,26300000000,10000100000,1104361691,480004,173540,130251,410400251,1490004,16410400000,16401260000,11101260000 +0,100,301690,414217,400184,1480004,411400184,410400183,7331708,301709,1260184,2000381711,301714,8331714,208444872,183304872,410184,420207,100183,410180101,341729,10000100003,400361729,410180183,341729,130183,490006,4410401726,211727,10411400004,301733,1270181,420181,10001400005,301762,301733,104217,480004,6401264217,311738,412160,410400183,130101,420180,400361753,134100,400361749,412400207,100183,10000400003,1260180,420207,13201260003,1260180,420180,10001400002,1400184,2000381757,301759,300444872,183304872,460185,410183,411400101,410180,1180181,1341733,1423448,1450004,10000130101,1201767,311770,400101,1000591773,301771,1004500000,1000591776,301774,1100560002,1260002,460180,460181,96260181,460003,421766,980290003,301733,122161,173533,123559,402157,422157,1211793,422157,9999201811,10000100001,2310182159,402157,480004,1351791,402174,6309262174 +0,100,410401805,401261805,5401282174,321805,423551,10000101805,10010182427,1351791,1211805,401261811,6400282157,301811,413531,1403450,461848,1220261848,421829,80291848,462174,421847,10000100000,2450000,1480008,361844,410401821,1402173,401261821,421821,10000411616,1451849,1422174,1490002,361840,10000490008,9400282174,430000,10000121848,10010401848,502262174,301829,3331826,502262174,102173,301821,401261847,906444872,1848304872,300000 +2*0,100 +0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,0,0,24649670000,42220000,24653564163,42240000,24667144667,42180000,24667144653,42190000,24653144667,42200000,24653144653,42210000,25341425345,41070000,25456554963,42260000,24559595659,42290000,26359414345,42300000,25949634500,42320000,25945454400,42330000,2199000000 +0,100,20000000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20000000000 +0,100 +0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22020202020,24559595659,22462040066,24559450046,25664554420,22020202000,20000000000,20000000000,20000000000,0,0,0,0,0,0,0,0,0,0,0,412402446,410273,400372449,10000410000,420273,16710400000,10000100000,10411400000,412402446,410400273,302448,414227,411184216,411400273,411402454,1274227,462454,342441,441847,301812,36264660000,6200007777,412402468,10000420000,10000100000,9999202463,1202465,410273,412400273,10411400000,410402468,422463,10000300001,0,0,14116,423560,293576,293676,293776,104229,480004,5103362512,410402856,444262856,1280272856,104233,480004,410402751,410402752,410402866,410402867,410402876,410402877,410402900,410402901,410402912,410402913,410402914,410402915,410402938,410402939 +0,100,410403147,410403148,410403149,410403150,410403212,410403213,410403221,410403222,410403229,410403230,410403397,410403398,14116,412471,1402472,11183529,352704,422512,10000100000,10000420000,412402512,2000212528,1262471,401262473,412473,411402512,2000202512,362512,480004,410183537,1342512,410403493,1480004,430000,123549,480001,403494,1490019,332540,252539,423493,10000410001,1450000,153552,1490010,132472,10402437,10000100000,1332512,3332512,5332512,7332512,9332512,8332512,1101362564,8101262437,1105362564,8101262437,1109362562,8101262437,1108362564,302512,6410183538,1342512,3312402657,3204262657,403454,10001100001,10000410002,423494,2212572,2450000,312674,403452,1403453,413454,1450000,1101372627,1109372627,1105372582,8910403454,302627,423454,3202262657,10000410000,1403495,1480004,103454,463454,463455,463456,411403454,6710403456,463500,423495,9999202622,302599,423495,9999202607,10000410001 +0,100,16400280001,1403495,10000100001,423500,10000403505,1263500,302597,413505,1403455,423500,10000103504,123532,10000143503,10001403503,1273500,3212609,1103505,123532,490004,1123456,6410403456,302627,413454,1403455,103456,123525,302620,103561,122437,402437,403496,422437,10000100000,403495,6400283495,413452,10011180000,1342644,352670,412437,1403496,413495,1402437,302631,412437,1183496,352660,102437,410403451,443442,303437,423496,10410400000,123532,490004,6410403451,423575,40293451,2403575,302512,443442,303437,123532,490004,123575,423496,10000410000,10000400000,1403451,302656,413453,10011180001,342639,302644,362690,1480010,463452,5500372685,442696,302692,403452,442701,302699,403453,302575,1490005,442696,302692,403453,302575,413528,302573,1490001,362695,123528,1102262694,312696,490001,302692,1490001 +0,100,123528,1108362701,490001,302699,1014500000,1400580000,423562,442463,302460,302714,423563,442448,302438,302706,423563,442463,302460,303367,463499,403495,6200362739,480004,210403499,103876,403500,6400283500,10000100002,210183499,352732,423500,10000100000,302724,10000100000,10000410001,10402765,11402766,413564,411402853,1300562750,6212402807,6212403096,103495,4500362745,6229262807,6229263096,6201262807,6201263096,6400284230,412402970,302795,9000380103,2438442751,111302752,12739,10001,420104,30290108,300001,1420103,1308520100,300100,20000000000,20000000057,25956434544,26459450000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,0,0,0,0,0,0,0,0,0,0,1300562839,423499,10000103776,403495,423495 +0,100,9999202823,6400283495,10000100002,6212402831,332807,6201262831,302811,302810,6201262831,302811,6230262831,10000100000,442836,302831,10000100001,442836,302831,10000100002,442836,302831,423495,10000100000,302798,9430000,442836,302833,1105262825,313079,423499,10000103576,302798,302833,4430000,400000,201262833,312837,302836,1100560000,302836,80000013000,80004453011,80000302844,80000422971,80001202846,1100520000,80100212846,10000100100,80412402971,80009332853,89000382842,80002392853,80004332853,80000302842,80000302854,80000013017,80000422854,80040293041,80001103017,80001123018,80000312860,80000362862,80000302866,80000013041,80000422862,80412402856,80000302853,2438442866,272302867,80000422840,80000463010,81220263010,80240293010,80401272971,80000442853,80000302842,80009332905,2468442876,260302877,80401272971,80000442853,80000302842,80010403013,80009332905,80000442853,80000302842,80010403014,80000442853,80000302842,16400280100,10001110000,86244362892,10001110001,80410182970,80001352895,80002202889,480006,80000122980,80000442853,80000302964,80810403019 +0,100,2408442900,272302901,80000442853,80000302842,80000302881,80000422928,80000462998,81220262998,80350292998,80000442853,80000302842,80009333035,2468442912,248302913,2448442914,260302915,80401272971,80000442853,80000302842,80009333035,80010403001,80000442853,80000302842,80010403002,80000442853,80000302842,1480010,16400280100,80001452999,10000120000,82100372941,80000442853,80000302964,80000422839,89993212935,80030292981,80000463010,81220263010,2408442938,260302939,80000302917,490002,80210402986,480002,490002,80000442853,80000302964,80000422839,89993212949,80030292981,80203263007,80000102986,80000412982,82100372955,80000132985,80000442853,80000302964,1490016,84411403010,80000102981,480002,80410403009,88223263009,80000302938,80000462981,81220262981,80000332969,88220262981,430000,1480010,4450000,1450000,490001,80000122984,1490001,82000202972,90010402982,81105262972,80000312853,80001202971,10000,20000000000,20000000000,20000000000,8,50,0,20000000000,20000006541,25949414253,24500495500,25759564759,24154000000,20000000000,20000000000,20000000000,20000654153,26445000000,20000000000,20000000000 +0,100,20000005341,24245530049,25500575956,24759415400,20000000000,20055645442,24559005646,20063495445,26200456745,24364634544,20000000000,20000000000,20000005341,26263005341,24245530057,24162624544,20066416200,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,13027,80000423038,80030293039,300098,80001423035,1308520100,22455565545,20400000000,20000000000,20000000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102833,400363082,1100560000,2450000,411402833,1300563127,423499,10000103676,403495,423495,9999203118,6400283495,10000100004,6212402831,333096,6201262831,303100,303099,6201262831,303100,6230262831 +0,100,10000100000,442836,302831,10000100001,442836,302831,10000100002,442836,302831,10000100003,442836,302831,10000100004,442836,302831,423495,10000100000,303087,9430000,442836,302833,102833,400363124,1100560000,2450000,411402833,302714,80004453291,80000303131,80000423181,80001203133,1100520000,80100213133,10000100100,80412403181,80009333140,89000383129,80002393140,80004333140,80000303129,80000303142,80000303140,80009333314,80010403269,80000443140,80000303129,80010403270,2468443147,239303148,2448443149,263303150,80000443140,80000303129,80000403262,80000443140,80000303129,80010183256,80001353159,80000103257,80000403263,80000403264,80000443140,80000303129,82110183256,480004,80410403169,80000463265,80012263265,3450000,123169,80000463289,80000463252,81220263252,80000333176,88220263252,430000,80001353179,1490002,80211403258,1480010,4450000,1450000,490001,80000123259,1490001,82000203182,90010403253,81105263182,80000313190,80001203181,80000353234,80000463255,80001423265,80000413252,90411403303,80000413253,90001403304,80000413254,90001403305,80000413255 +0,100,96611403306,80401283263,89999203229,80403283265,89999203221,80401283262,80001213217,80000413251,80000373212,80000443140,80000303129,80000303142,2428443212,263303213,80000423127,80230293290,80000303209,80000463251,80401263169,1450000,80000303169,2408443221,263303222,80000463265,80412263265,80000423127,80230293290,80000443251,80000303205,2428443229,263303230,80000413264,80001403263,80000303223,80203263252,80411403254,88223263254,80000103258,80000413253,82100373241,80000133260,80000333244,80220263254,430000,2450000,1480001,490001,1490007,80000123261,80010403255,80000303192,0,20000000000,20000000000,20000000000,20000000000,1,9999,0,8,50,8080000000,0,0,0,0,20000000000,20000415959,24168000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000 +0,100,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,12650,80000423256,80030293318,300001,80001423314,1308520100,300100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1100563395,1008500000,103575,183565,343373,301012,183566,1343376,301012,2000593378,303376,2008500000,4400283379,2000580000,1100213380,2200580000,423384,10000,9999203388,2100580000,303385,2000520400,2000521400,2008500000,2000593393,303391,1004500000,301012,1018500000,9000380104,2418443397,108303398,410107 +0,100,1400013,300013,1401520000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,20000000000,0,0,0,0,0,0,0,0,0,0,103575,123545,410183567,343443,103575,303442,103530,403575,303442,34460000,3447000000,99,0,757007250,0,0,0,0,0,0,21662454159,24348004559,25956590202,21643484543,25200626454,20045595956,25902020202,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333111111,11113111111,11113111111,11113111111,11113111111,11113111111,11113111111,11113111111,11113111111,11110000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9999999999,9999999999 +0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10000,10,40,80,100,700,525005250,1,11,11110000,24649554962,1000600000,2000,2000000,10000001111,1111,1111110000,23,24800000000,545600,7,9669009669,25756565300,34353600,8,9999999999,9,99,10123536,4233,2218,1103,2202,2428,4116,3577,3576,292,3446,2868,1011,3877,4094,0,0,0,0,0,0,0,3877,34970000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16151734763 +0,100,0,42240000,42222156,42342154,42372153,42292152,42392151,42422150,42452149,42212145,42202144,42182143,42192140,42472139,42502138,42522135,42542132,42632129,42572128,42602126,42670000,41072125,42262123,42302122,42712120,42732117,42752115,42322114,42330000 +0,100 +0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42370000,42292116,42420000,42292118,42752119,42710000,42292121,42420000,42290000,42332124,42290000,42290000,42392127,42290000,42290000,42292130,42602131,42570000,42292133,42602134,42570000,42292136,42502137,42470000,42470000,42290000,42292141,42212142,42240000,42290000,42290000,42222146,42422147,42452148,42290000,42290000,42290000,42290000,42330000,42320000,42332155,42290000,42290000 +0,100 +0,100,1000000,6450000,82200360004,480001,80001200001,1480008,90000100010,1490008,80000220013,80000420000,10000300000,58,59,60,5800000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18012690202 +0,100,2000000,44229120001,6450000,1480008,80410400004,80000420004,1450000,89949200008,80010210010,10001490011,80000420000,10000300000,80002390014,80000410016,80000420000,60000300100,2450000,80000300008,24649670000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19264290162 +0,100,3000000,44229120001,44233120002,100010000,80410400036,80000420004,80010290236,300290101,80000420000,80412400085,10000419999,9437557,82200370013,420100,10000440000,12201370001,400132,80412400067,410130,80000370034,100134,460133,85246370196,85267370172,85249370110,85262370223,85241370025,80000300211,80000410043,1270129,80000440168,80000300159,100129,80000360050,82299370064,1490010,80000300026,80000420001,60000310121,109999,80401260036,80000330052,80000410043,80001330068,82214360036,80000440168,89900300159,82299370036,1490010,80000300041,100129,190125,190125,100130,83300360034,83300360054,80000130237,400130,210400131,1480002,310400129,87242360047,87266360088,87257360096,87263360098,87243360087,80300360036,100132,400134,80009330047,309999,80000420036,86600360084,1490003,80300370078,80000130237,83300360080,16301279999,10000419999,80411400036,80000300036,13310409999,80000300072,10000109999,1480003,16610409999,80000300036,100132,9339999,80000300075,1008610124,1480003,83111400090,62408440200,60101300200,80000420094,80010290236,240290101,80000300050,1495804750 +0,100,3000001,1008610124,80000300092,80300360103,80010090102,80001120080,80000300098,21602020202,100125,80000360050,80000120173,1480004,83211400108,990090101,80000300092,80000420120,80000360169,81100360170,400134,3450080,2400128,460126,410400126,1400127,100134,2480010,1430023,120129,130128,80001330211,190125,5000190125,100134,80000410164,80000440168,80001330158,1270128,80000320144,410127,80000370050,80000410121,80000440168,80000300158,100127,80000130126,80000420056,460129,3260129,80000300113,1270126,410126,80000370152,410133,80000370154,1270133,80000410114,80000300158,80000410081,80000300158,100134,80000410173,1490001,400134,1490018,1480008,1420125,10000490008,9400280125,80024210168,430020,10000120125,10010400125,2260125,309999,80009210114,490051,80001210112,2457557,1480008,80410180238,1400134,80001340186,80410400184,80449270184,80000420184,100130,1480004,84211400185,80000100184,2459999,80000200115,437557,80000130238,210400133,211180130,80000350193,80000100238,80000300177,80000100170,19018136231 +0,100,3000002,1110400134,80000300177,304270129,80000320200,80000300210,80000100239,80000360199,2457557,82210400125,1480008,1400134,2480010,120130,80000170170,310180129,80001340219,4260129,100129,190125,190125,2270125,80000410226,80000440168,80000300158,80000300050,80000410125,80000100156,420131,80001200115,2457557,1480008,1400134,430014,80000130238,2457557,80001330234,210180130,80000340211,80000120156,80000300221,10400133,80000300220,20000000000,10000000,50,5000000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19198988395 +0,100,4000000,44232120001,70128010000,80410400090,80410400091,80401260091,80000440097,80000300090,80000420128,10000460000,80000460136,60000440100,60117300100,80000460138,80502260138,80000420128,89999200018,86400280136,100101,89999200112,89400280138,10000100101,80000420138,10000490000,80502260138,80000410136,80000370038,80160210009,84400280136,82213360053,480008,10000490000,80000190135,84102270136,80000320018,80000100135,80000440097,80000300090,85212270136,80000300018,80162210009,81108360069,82203360065,82220360063,82234360063,82223360058,82213360120,82214360051,80000420132,89999200018,80000440097,80000300076,80000300018,89416260138,80000300046,80000460136,80000100135,80000440097,89992200090,80000300018,80001260134,80000440097,80000300076,80001260131,80000300018,80001260130,80000300018,80000410124,82211400129,80001260133,80000300018,490001,80000410135,1490001,80001400135,82201270129,80001260132,80000300018,80000410131,80000370103,80000420130,80000110135,490008,89999200083,430000,80001130137,81210270137,80000320090,430000,80000300090,80000420134,80001210098,440090,300091,80009330100,80412400091,80000420108,80000460129,80070290129,18464888225 +0,100,4000001,300097,80000400137,80000300094,80000420000,80000460128,10000300000,80000100135,80000420133,89999200108,80000120129,80000220129,80000420130,89999200088,1430000,80000300088,80810180125,80001350018,410102,80011180126,80001350018,80000420128,10001260000,80000300100,80000420132,89999200036,80502270138,80000300048,5800000000,28562455563,24955455300,5110000000,0,0,0,0,0,0,0,0,0,0,0,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15758013230 +0,100,5000000,44233120001,80000440033,80000300029,25945626453,26300566463,20056460059,24155474500,24955000000,80000440033,80000300029,25945626453,26300645544,24546495545,24400465659,20000000000,80000440033,80000300029,25945626453,26300495353,22044454649,25545440046,25659000000,80000460042,80000440033,80000300031,0,20041594963,24854456349,24300566545,25946535666,80001400042,3450000,80412400036,80000420053,50290033,61106440100,40000040000,60037300100,300036,0,0,0,0,0,0,0,0,0,0,0,5000000000,0,0,5110000000,0,80000000037,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19204101430 +0,100,6000000,44229120001,4450000,80000420000,10000360000,80001330034,80810400036,82310400037,60000100148,80000140037,80000130038,82310400037,83110180037,80000350014,80001330014,82201260037,80000100039,80000240036,80000220040,80000240036,80000220041,60000400149,80000100036,60000250149,60000220149,80000240042,60000400149,80000100036,60000250149,60000220149,80000120037,80000350032,80000240043,10000300000,80000240042,10000300000,80000410044,60000300107,5110000000,0,2550000000,14916450338,5041117101,5062697923,5050000000,5015811388,26258596300,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14156674349 +0,100,7000000,44229120001,2450000,80000410062,80411400057,81210400000,80010180064,80000340055,1490002,80211400008,2450000,80000420008,80000140065,89949200014,10001490001,80001420012,1490008,82211400061,82251260061,1490012,2450000,80010200021,10001490001,1490010,60000400150,60000140150,60000400152,80000140066,80000120067,60000140152,80000120068,60000140152,80000120069,60000140150,60000400150,60000400149,80000100070,60000140152,80000120071,60000140152,80000120072,60000140152,80000120073,60000190149,60000130150,1480003,60000150149,80001120061,81210270000,80000420000,80000320050,10000300000,60000400150,80000100074,89999410052,60000250150,10000300000,80000420000,80001330059,80000410063,60000300100,1450000,10000300000,0,80000000063,24567570000,5311282665,4342944819,10000017159,10004893282,10169203872,10995711477,417304,35418755,529087016,864864000,5099999999,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11311162777 +0,100,8000000,44229120001,6450000,80001330061,80000360061,1480002,84210400068,1490004,80000180014,80001340044,80000180033,80000340044,1480001,80000120069,60000400152,80000130070,61014150152,60000400152,60000140152,60000400149,80000140071,80000120072,60000140149,80000120073,60000140149,80000120074,60000140149,80000120075,60000140149,80000120076,60000140149,80000120077,60000140152,80000120078,82200360035,9858480001,80001200032,90810400064,80000100068,80000230079,80001340040,60000220151,80000240080,90000220064,80000420000,10000300000,81101360047,1480001,80000130081,80000220082,80000360059,60000400152,62239260152,60000100152,80000240083,80000220084,60000240152,80000220085,60000240152,60000240152,60000220152,80000400067,80003200036,80000410086,80000420000,60000300107,4900000000,5000000000,5100000000,0,5200000000,316227766,632455532,410597044,57228327,250341093,282433571,400193033,666661710,2000000037,1151292547,5251000000,5123025851,2000000000,1000000000,15025000000,5033333333,15050000000,25356470000,40000990000,0,0,0,0,0,0,0,0,0,14130294806 +0,100,9000000,44229120001,44245120002,44242120003,44222120004,70006010000,60001400150,84112400017,60000400152,84400280000,60000310121,80000420000,80000360020,80001330023,60000440200,60000300200,60000240150,80000310041,80000180046,80000340038,60000440300,60000300300,430000,80000420000,10000300000,60001180124,10000340000,80000300029,1390000,1490010,60000440400,60000300400,390000,80000370032,80000420000,80000410047,60000300107,2490010,160000,2480004,84110400017,60001100152,80000300009,80000410047,80000420000,60000300100,60000100152,60000140150,80000330038,1450000,80000300018,5311282665,24653465300,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19545241579 +0,100,10000000,44229120001,70003010000,84400280000,60000310121,60001400149,60000400152,80000420000,80000360029,60000100151,10000370000,60000400150,60000100148,60000140149,60000400149,80000370017,60000100150,60000240152,60000400150,60000410149,80000370023,60000100152,60000240152,60000400152,80000300010,80000310033,81210370026,10000300000,60000100151,60000250150,10000300000,60001180124,10000340000,80000410037,60000300107,1450000,11210370000,80000410037,60000300100,24653466700,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13291209771 +0,100,11000000,44229120001,4450000,80000420000,80000360033,60001400149,60000400152,60000460150,60001260150,60000100148,60000140149,60000400149,80000370016,60000100150,60000140152,60001400150,80000360016,80000300022,60000410149,80000370026,60000100152,60000140152,60001400152,80000360007,60000100149,80001330037,80000410039,60000300100,60000100150,81210370029,10000300000,80000410040,1450000,60000150150,10000300000,60001180124,10000340000,80000410039,60000300107,1450000,10000300000,24667466700,1,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10129139890 +0,100,12000000,44224120001,44221120002,44229120003,4450000,80000420000,60412400200,60001400350,60001400349,60000440100,60000300100,60000410350,60000300202,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13096871657 +0,100,13000000,44229120001,6450000,80000410046,80411400044,60000460152,80000240049,1490002,80211400048,80000420048,89949200014,80007210043,10001490018,60000400152,80000100013,1490050,1490018,60000400150,60000220150,60010180151,80001340022,430000,80000230050,1490000,60000400150,60000240150,60000400149,80000240051,80000220052,60000240149,80000220053,60000240149,80000220054,60000240149,80000220055,60000240150,60000220150,60000400150,60000100148,60000140152,60000100150,80000420000,10000370000,60000110150,10000300000,80000420000,80000410047,60000300114,80000000047,26249550000,0,5031830989,5120000000,4715148419,14846737656,4979689679,15064596371,5057079632,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16082108296 +0,100,14000000,44247120001,6450000,80000410000,60411400100,80000410007,80000220009,80000220009,60000300102,80000000008,24356620000,5078539816,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14102680052 +0,100,15000000,44247120001,44250120002,44229120003,6450000,80000400019,80000410022,60000440100,60000300204,80000360013,80000400020,80000100019,60000440100,60000300100,80000250020,80000420000,10000300000,80000410019,82211180015,15700340000,80000420000,80000410021,60000300307,0,0,26341550000,80000000021,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15591251006 +0,100,16000000,44257120001,44260120002,44229120003,10000,60000400352,80000410011,60000440200,60000300204,80000420000,60000360239,60000400349,60000100352,60000250349,60000300102,80000000012,24162495500,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16913237676 +0,100,17000000,44257120001,44260120002,44229120003,10000,60000400352,80000420000,60000360239,80000410016,60000440200,60000300204,60000250352,60000440100,60000300100,80000420000,60000410352,1490000,10000330000,80000220019,10000300000,80000000017,24143566200,0,5131415927,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12027574084 +0,100,18000000,44229120001,6450000,80000420000,60010180151,60000400152,84412400035,80001340009,84401270035,85010100053,60000250152,80010180007,80001340041,490002,60000400152,60000140152,60000400149,80000140054,80000120055,60000140149,80000120056,60000140149,80000120057,60000400150,80000100058,60000140149,80000120059,60000140149,80000120060,60000140149,80000120057,60000140152,1480002,60000150150,60000400150,61105260150,60000100150,10000200000,80000100061,60000410152,1490000,60000230150,10000300001,60000400152,60000240152,60000400149,80000240062,80000220063,60000240149,80000230064,60000240149,60000240152,60000220152,60000400150,80000300035,5099999999,49017591,565030980,1453567135,1000000000,8561189,280504541,1120234014,5115707963,15014281428,5020000000,5033333333,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18932240304 +0,100,19000000,44229120001,44239120002,70003010000,84400280000,60000310121,80000410038,80411400034,60010180151,80000340034,82251360031,80000360032,60000400152,60000240152,1490002,80211400031,80001420031,10001480051,80000130044,1490010,60000130148,60000130148,1490010,80000310022,80051120045,84400280021,81100360029,80412400031,80000410031,1490018,80000420000,60000300202,1490001,80001210023,1430000,60000220151,80000300027,80000410037,80000420000,60000300107,25956546767,80000000037,80000100046,60000410152,10000370000,1490000,10000300000,1000000000,1,5115707963,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13804156832 +0,100,20000000,6450000,82210180012,80000340010,1480000,80000330007,430000,80000220013,80000220012,80000230012,1490000,80000420000,10000300000,5810000000,5099999999,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13132480065 +0,100,21000000,44229120001,8000380000,80000420036,60000310121,80000420000,14401289998,80002400049,80000420000,14400289999,80000400050,10000100000,60000400149,1480010,80000440048,80001330036,60000400144,60001400145,80001100049,80000130051,1480010,80000440048,80000300036,60811400146,80000300023,62224260146,62204260147,80403260022,87000380030,80000420000,80000100050,10000300000,80000420032,60010290124,60050290137,60000440136,60000300134,80000300027,88001450003,490001,1490001,80000130052,81108260036,80000310037,81105260041,80000310046,60000400150,80000300036,1480010,60000100150,300048,0,0,10000,80,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16368492831 +0,100,22000000,44229120001,44233120002,380000,60002400149,80000420017,60000310121,60000400152,80000420000,14400289999,10000410000,80001400050,80000420000,80000460053,80000460054,86412400051,10000109997,80000330016,60000130149,80410400020,80001450004,10000419998,81108370022,120020,80000300023,60000120152,82100370034,80000400052,80000330027,84220260051,80412400032,60504440200,40000040000,60050300200,60000100152,60000420149,300032,300033,1480008,80000460052,88811400052,80000330039,84220260051,430000,88800370042,80000130055,80223260053,86203260051,80110400054,490001,88910400054,89108260054,87108260054,80000300027,0,23300000000,0,0,0,50,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16091842721 +0,100,23000000,44229120001,9000380000,84400280015,60000310121,80000420000,80000400020,10000109999,84410400002,84400360015,10000100000,80410180003,80001350012,80002200008,80001120002,80000120021,80000310015,70003440000,4400360002,80000420000,80000100020,10000300000,0,9999000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11253870258 +0,100,24000000,44242120001,44229120002,2450000,60010180171,80000340025,80010180028,80001340014,60000440100,60000300102,60000400252,60000110251,60000250252,60000220252,80000240028,80000420000,10000300000,60000400252,60000240252,60000400249,80000240029,80000220030,60000240249,80000220031,60000240249,60000240252,60000220252,80000300012,80000420000,80000410032,60000300200,5050000000,4719841270,4883333333,5016666667,26249554800,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14422289637 +0,100,25000000,44271120001,44275120002,44229120003,10000,80000400019,80000410021,80010180023,80000340015,60000440200,60000300202,80000400020,80000360013,80000100019,60000440100,60000300100,80000250020,80000420000,10000300000,60000100351,80000410019,1490000,80000300013,0,0,80000000022,26341554800,5250000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14384255963 +0,100,26000000,44242120001,44229120002,10000,80000410013,430000,60000440100,60000300102,80000360011,60000400252,60000100251,60000250252,60000220252,80000240015,80000420000,10000300000,80000000014,24356624800,5050000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17882136065 +0,100,27000000,44237120001,10000,80000420000,80002400008,10000109998,480001,83210400007,14400289999,11070030000,300008,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11981690028 +0,100,28000000,10000,80000420000,80002400067,10000419998,83100370015,83122370015,83133370012,83144370014,83155370012,83166370014,83177370012,80000300016,81010060070,80000300016,81010060069,81010060069,14400289999,84144370023,84166370054,1480001,83211400021,11210060000,80000300058,81010060071,11010060000,10000100001,1480008,490002,1490004,490001,2430000,2490001,80010400068,81010060068,10000100002,430000,80000400068,81010060068,80000100069,2430000,80000400068,10000100003,80210400068,81010060068,80000100069,2430000,80000400068,10000100004,80410400068,86102270068,80000330051,85102260068,81010060068,80000300058,81010060071,1480001,83211400057,11570060000,80000420000,10000419998,83111370064,83122370066,83166370066,80000300067,81010060070,80000300067,81010060069,300067,20000000000,21602020202,21615020202,20000000000,40000990000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14130152772 +0,100,99999999999 +0,100,1000640002,300000,1001620115,1008620144,5401260080,310008,2000650008,300004,2000650010,300013,2004630231,2006630202,2008630173,1000650015,300016,1008630173,410240,1400080,410241,411400077,411400025,401270025,410080,420025,10290079,290199,2400079,411180079,1350025,410072,1400051,3000380049,420086,5200034,11010600200,5200034,1420037,1450100,10000120200,10000120201,10000120202,10000120203,10000120204,5200038,310045,360051,40090082,9669009669,300047,1000030100,300036,100101,420051,4330063,460074,299260074,401280074,10000410100,1280370075,370029,16400280100,10411400000,300056,6610400067,9999210000,412400067,10000429999,290000,1480007,120073,190051,300051,100101,1,99,6711180078,1350056,300200,80000000000,0,5000,348,21643484543,25200626454,20045595956,25900000000,9899,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333 +0,100,33333000000,333333,33333333333,33333333333,33333333333,33333333333,31313131313,13131313131,31313131313,13131313131,31313131313,13131313131,31313131313,13131313131,31313131313,13131313131,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,0,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,1111111111,0,33333333333,33333333333,33333333333,33333333333,33333333333,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33000000000,0,0,0,0,0,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111,31111111111 +0,100,0,0,0,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,30000000000,0,0,0,0,0,0,0,0,31111111111,31100111133,33322222222,22333333333,11103333331,11100000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5000,200 +0,100,3000380303,1000630388,300304,1070060353,1008500000,1300580000,4000380319,1000590333,300307,3000380317,420081,50290100,1001610352,401260347,205260311,310333,300310,1000060100,300333,3000380330,6105260347,420081,50290250,1001610352,405270322,401260347,320321,460347,6101260347,300333,1000060000,1000060100,1000060200,1101520100,100100,99360346,1450100,1420336,10000120200,1200338,310341,360309,40090082,9669009669,1101580000,300333,757007250,10000,0,0,0,0,0,4000380302,300003,1000030000,1000030100,1000030200,300003,60000300300,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333333,33333333332,0,2222,0,0,22222222222,22222222222,22222222222,22222222222,22222222222 +6708*0,100 +0,1,1 +6832*1,100 +1,1,1 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Generator-Callout.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Generator-Callout.card new file mode 100644 index 0000000..6adff5d --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-Generator-Callout.card @@ -0,0 +1,461 @@ +777 BAC-220 GENERATOR CALLOUT FOR PAPER-TAPE I/O +666 61000600005 +=== 6000030000200000390000000185000000000152000009999009999 +2 COMMENT GENERATE COMPILER FOR PAPER-TAPE SYSTEM... +2 COMMENT * COMPILER ON TAPE UNIT 2 LANE 00 +2 COMMENT * COMPILED PROGRAM ON UNIT 1 LANE 00 +2 COMMENT * PAPER-TAPE READER UNIT 1 +2 COMMENT * PAPER-TAPE PUNCH UNIT 1 +2 COMMENT * MEMORY SIZE 5000; +2 +2 GENERATE PAPER TAPE VERSION OF BAC-220; +2 DELETE INPUT FORMAT 0; +2 DELETE OUTPUT FORMAT 0; +2 DELETE INPUT FORMAT 1; +2 DELETE OUTPUT FORMAT 1; +2 INPUTMEDIA; +60600000100000 00000010000 +6 80000420000 +6 80412400007 +6 14400289999 +6 11140030000 +6 00001450000 +60200000200006 12210400000 +6 00000300007 +2 OUTPUTMEDIA; +60600000100000 00000010000 +6 80000420000 +6 80412400073 +6 10000419998 +6 83100370015 +6 83122370015 +60600000200006 83133370012 +6 83144370014 +6 83155370012 +6 83166370014 +6 83177370012 +6 80000300016 +60600000300012 81010060115 +6 80000300016 +6 81010060114 +6 81010060114 +6 14400289999 +6 84122370037 +60600000400018 84100370025 +6 84144370047 +6 84188370056 +6 00001480001 +6 83211400023 +6 11230060000 +60600000500024 80000300064 +6 10000100000 +6 80000440079 +6 80000300074 +6 10000100001 +6 80000440112 +60600000600030 80000300091 +6 10000100001 +6 80000440090 +6 80000300080 +6 81010060116 +6 11010060002 +60600000700036 80000300064 +6 10000100000 +6 00000480004 +6 80000440090 +6 80000300080 +6 81010060118 +60600000800042 00001480001 +6 83211400045 +6 83101270045 +6 11450060000 +6 80000300064 +6 10000100000 +60600000900048 80000440079 +6 80000300074 +6 10000100001 +6 80000440112 +6 80000300091 +6 81010060119 +60600001000054 11010060002 +6 80000300064 +6 10000100000 +6 80000440079 +6 80000300074 +6 81010060119 +60600001100060 81010060119 +6 10000100001 +6 80000440090 +6 80000300080 +6 80000420000 +6 10000419998 +60600001200066 83111370070 +6 83122370072 +6 83166370072 +6 80000300073 +6 81010060115 +6 80000300073 +60600001300072 81010060114 +6 00000300073 +6 81010060119 +6 10000100000 +6 80000440090 +6 80000300080 +60600001400078 81010060117 +6 00000300079 +6 09001480004 +6 80000100117 +6 81104260080 +6 00008430000 +60600001500084 00002490001 +6 00001490001 +6 81101270080 +6 80000320083 +6 80010400113 +6 81010060113 +60600001600090 00000300090 +6 00001480010 +6 80000100116 +6 00001490000 +6 00002480001 +6 00008430000 +60600001700096 00002480001 +6 84410400113 +6 81010060113 +6 00001490004 +6 80000440090 +6 80000300080 +60600001800102 80000100118 +6 00008430000 +6 00000490001 +6 00001490001 +6 00008430000 +6 00000490001 +60600001900108 00001490001 +6 00000480002 +6 80010400113 +6 81010060113 +6 00000300112 +6 20000000000 +60600002000114 21602020202 +6 21615020202 +6 20002020202 +6 20000000202 +6 20000000002 +6 20000000000 +2 PROCESS LIBRARY; +2 FINISH; +2 FLOAT, REAL(INTEGER) +60600000100000000064500008220036000400000480001800012000010000148000890000100010 +60600000200006000014900088000022001380000420000100003000000000000005800000000059 +60300000300012000000000600580000000040000990000 +2 FIX, INTEGER(REAL) +2 ERROR=1 +60600000100000000064500000000148000880410400004800004200040000145000089949200008 +60600000200006800102100101000149001180000420000100003000008000239001480000410016 +60600000300012800004200006000030010000002450000800003000082464967000040000990000 +2 WRITE +2 ERROR=1 +2 RITE=2 +60600000100000001000100008041040003680000420004800102902360030029010180000420000 +60600000200006804124000851000041999900009437557822003700130000042010010000440000 +60600000300012122013700010000040013280412400067000004101308000037003400000100134 +60600000400018000004601338524637019685267370172852493701108526237022385241370025 +60600000500024800003002118000041004300001270129800004401688000030015900000100129 +60600000600030800003600508229937006400001490010800003000268000042000160000310121 +60600000700036000001099998040126003680000330052800004100438000133006882214360036 +60600000800042800004401688990030015982299370036000014900108000030004100000100129 +60600000900048000001901250000019012500000100130833003600348330036005480000130237 +60600001000054000004001300021040013100001480002003104001298724236004787266360088 +60600001100060872573600968726336009887243360087803003600360000010013200000400134 +60600001200066800093300470000030999980000420036866003600840000149000380300370078 +60600001300072800001302378330036008016301279999100004199998041140003680000300036 +60600001400078133104099998000030007210000109999000014800031661040999980000300036 +60600001500084000001001320000933999980000300075010086101240000148000383111400090 +60600001600090624084402006010130020080000420094800102902360024029010180000300050 +60600001700096010086101248000030009280300360103800100901028000112008080000300098 +60600001800102216020202020000010012580000360050800001201730000148000483211400108 +60600001900108009900901018000030009280000420120800003601698110036017000000400134 +60600002000114000034500800000240012800000460126004104001260000140012700000100134 +60600002100120000024800100000143002300000120129000001301288000133021100000190125 +60600002200126050001901250000010013480000410164800004401688000133015800001270128 +60600002300132800003201440000041012780000370050800004101218000044016880000300158 +60600002400138000001001278000013012680000420056000004601290000326012980000300113 +60600002500144000012701260000041012680000370152000004101338000037015400001270133 +60600002600150800004101148000030015880000410081800003001580000010013480000410173 +60600002700156000014900010000040013400001490018000014800080000142012510000490008 +60600002800162094002801258002421016800000430020100001201251001040012500002260125 +60600002900168000003099998000921011400000490051800012101120000245755700001480008 +60600003000174804101802380000140013480001340186804104001848044927018480000420184 +60600003100180000001001300000148000484211400185800001001840000245999980000200115 +60600003200186000004375578000013023800210400133002111801308000035019380000100238 +60600003300192800003001778000010017001110400134800003001770030427012980000320200 +60600003400198800003002108000010023980000360199000024575578221040012500001480008 +60600003500204000014001340000248001000000120130800001701700031018012980001340219 +60600003600210000042601290000010012900000190125000001901250000227012580000410226 +60600003700216800004401688000030015880000300050800004101258000010015600000420131 +60600003800222800012001150000245755700001480008000014001340000043001480000130238 +60600003900228000024575578000133023400210180130800003402118000012015680000300221 +60600004000234000104001338000030022020000000000000100000000000000005005000000000 +6010000410024040000990000 +2 READ +2 REED=1 +60600000100000701280100008041040009080410400091804012600918000044009780000300090 +60600000200006800004201281000046000080000460136600004401006011730010080000460138 +60600000300012805022601388000042012889999200018864002801360000010010189999200112 +60600000400018894002801381000010010180000420138100004900008050226013880000410136 +60600000500024800003700388016021000984400280136822133600530000048000810000490000 +60600000600030800001901358410227013680000320018800001001358000044009780000300090 +60600000700036852122701368000030001880162210009811083600698220336006582220360063 +60600000800042822343600638222336005882213360120822143600518000042013289999200018 +60600000900048800004400978000030007680000300018894162601388000030004680000460136 +60600001000054800001001358000044009789992200090800003000188000126013480000440097 +60600001100060800003000768000126013180000300018800012601308000030001880000410124 +60600001200066822114001298000126013380000300018000004900018000041013500001490001 +60600001300072800014001358220127012980001260132800003000188000041013180000370103 +60600001400078800004201308000011013500000490008899992000830000043000080001130137 +60600001500084812102701378000032009000000430000800003000908000042013480001210098 +60600001600090000004400900000030009180009330100804124000918000042010880000460129 +60600001700096800702901290000030009780000400137800003000948000042000080000460128 +60600001800102100003000008000010013580000420133899992001088000012012980000220129 +60600001900108800004201308999920008800001430000800003000888081018012580001350018 +60600002000114000004101028001118012680001350018800004201281000126000080000300100 +60600002100120800004201328999920003680502270138800003000480580000000028562455563 +60600002200126249554553000511000000000000000000000000000000000000000000000000000 +60600002300132000000000000000000000000000000000000000000000000000000000000000000 +602000024001380000000000040000990000 +2 ERROR +2 RITE=1 +60600000100000800004400338000030002925945626453263005664632005646005924155474500 +60600000200006249550000008000044003380000300029259456264532630064554424546495545 +60600000300012244004656592000000000080000440033800003000292594562645326300495353 +60600000400018220444546492554544004625659000000800004600428000044003380000300031 +60600000500024000000000002004159496324854456349243005665452594653566680001400042 +605000006000300000345000080412400036800004200530005029003361106440100 +602000007000354000004000060037300100 RELOCATE /44 FIELD OF BUN INSTRUCTION +60600000800036000003000360000000000000000000000000000000000000000000000000000000 +60600000900042000000000000000000000000000000000000000000000000000000000000000000 +60600001000048050000000000000000000000000000000051100000000000000000080000000037 +6010000110005440000990000 +2 SQRT, REAL(REAL) +2 ERROR=1 +60600000100000000044500008000042000010000360000800013300348081040003682310400037 +60600000200006600001001488000014003780000130038823104000378311018003780000350014 +60600000300012800013300148220126003780000100039800002400368000022004080000240036 +60600000400018800002200416000040014980000100036600002501496000022014980000240042 +60600000500024600004001498000010003660000250149600002201498000012003780000350032 +60600000600030800002400431000030000080000240042100003000008000041004460000300107 +60600000700036051100000000000000000002550000000149164503380504111710105062697923 +6040000080004205050000000050158113882625859630040000990000 +2 EXP, REAL(REAL) +2 ERROR=1 +60600000100000000024500008000041006280411400057812104000008001018006480000340055 +60600000200006000014900028021140000800002450000800004200088000014006589949200014 +60600000300012100014900018000142001200001490008822114000618225126006100001490012 +60600000400018000024500008001020002110001490001000014900106000040015060000140150 +60600000500024600004001528000014006680000120067600001401528000012006860000140152 +60600000600030800001200696000014015060000400150600004001498000010007060000140152 +60600000700036800001200716000014015280000120072600001401528000012007360000190149 +60600000800042600001301500000148000360000150149800011200618121027000080000420000 +60600000900048800003200501000030000060000400150800001000748999941005260000250150 +60600001000054100003000008000042000080001330059800004100636000030010000001450000 +60600001100060100003000000000000000080000000063245675700000531128266504342944819 +60600001200066100000171591000489328210169203872109957114770000041730400035418755 +6040000130007200529087016008648640000509999999940000990000 +2 LOG, REAL(REAL) +2 ERROR=1 +60600000100000000064500008000133006180000360061000014800028421040006800001490004 +60600000200006800001800148000134004480000180033800003400440000148000180000120069 +60600000300012600004001528000013007061014150152600004001526000014015260000400149 +60600000400018800001400718000012007260000140149800001200736000014014980000120074 +60600000500024600001401498000012007560000140149800001200766000014014980000120077 +60600000600030600001401528000012007882200360035098584800018000120003290810400064 +60600000700036800001000688000023007980001340040600002201518000024008090000220064 +60600000800042800004200001000030000081101360047000014800018000013008180000220082 +60600000900048800003600596000040015262239260152600001001528000024008380000220084 +60600001000054600002401528000022008560000240152600002401526000022015280000400067 +60600001100060800032000368000041008680000420000600003001070490000000005000000000 +60600001200066051000000000000000000005200000000003162277660063245553200410597044 +60600001300072000572283270025034109300282433571004001930330066666171002000000037 +60600001400078011512925470525100000005123025851020000000000100000000015025000000 +6040000150008405033333333150500000002535647000040000990000 +2 FL*FL +2 ERROR=1 +2 LOG=2 +2 EXP=3 +2 FIX=4 +60600000100000700060100006000140015084112400017600004001528440028000060000310121 +60600000200006800004200008000036002080001330023600004402006000030020060000240150 +60600000300012800003100418000018004680000340038600004403006000030030000000430000 +60600000400018800004200001000030000060001180124100003400008000030002900001390000 +60600000500024000014900106000044040060000300400000003900008000037003280000420000 +60600000600030800004100476000030010700002490010000001600000000248000484110400017 +60600000700036600011001528000030000980000410047800004200006000030010060000100152 +60600000800042600001401508000033003800001450000800003000180531128266524653465300 +6010000090004840000990000 +2 FL*FX +2 ERROR=1 +60600000100000700030100008440028000060000310121600014001496000040015280000420000 +60600000200006800003600296000010015110000370000600004001506000010014860000140149 +60600000300012600004001498000037001760000100150600002401526000040015060000410149 +60600000400018800003700236000010015260000240152600004001528000030001080000310033 +60600000500024812103700261000030000060000100151600002501501000030000060001180124 +60600000600030100003400008000041003760000300107000014500001121037000080000410037 +60300000700036600003001002465346670040000990000 +2 FX*FX +2 ERROR=1 +60600000100000000044500008000042000080000360033600014001496000040015260000460150 +60600000200006600012601506000010014860000140149600004001498000037001660000100150 +60600000300012600001401526000140015080000360016800003000226000041014980000370026 +60600000400018600001001526000014015260001400152800003600076000010014980001330037 +60600000500024800004100396000030010060000100150812103700291000030000080000410040 +60600000600030000014500006000015015010000300000600011801241000034000080000410039 +60600000700036600003001070000145000010000300000246674667000000000000140000990000 +2 FX*FL +2 FLOAT=1 +2 FL*FL=2 +2 ERROR=3 +60600000100000000044500008000042000060412400200600014003506000140034960000440100 +6040000020000660000300100600004103506000030020240000990000 +2 SIN, REAL(REAL) +2 ERROR=1 +60600000100000000064500008000041004680411400044600004601528000024004900001490002 +60600000200006802114000488000042004889949200014800072100431000149001860000400152 +60600000300012800001000130000149005000001490018600004001506000022015060010180151 +60600000400018800013400220000043000080000230050000014900006000040015060000240150 +60600000500024600004001498000024005180000220052600002401498000022005360000240149 +60600000600030800002200546000024014980000220055600002401506000022015060000400150 +60600000700036600001001486000014015260000100150800004200001000037000060000110150 +60600000800042100003000008000042000080000410047600003001148000000004726249550000 +60600000900048000000000000503183098905120000000047151484191484673765604979689679 +60300001000054150645963710505707963240000990000 +2 COS, REAL(REAL) +2 SIN=1 +60600000100000000064500008000041000060411400100800004100078000022000980000220009 +605000002000066000030010280000000008243566200000507853981640000990000 +2 TAN, REAL(REAL) +2 SIN=1 +2 COS=2 +2 ERROR=3 +60600000100000000064500008000040001980000410022600004401006000030020480000360013 +60600000200006800004000208000010001960000440100600003001008000025002080000420000 +60600000300012100003000008000041001982211180015157003400008000042000080000410021 +60600000400018600003003070000000000000000000000263415500008000000002140000990000 +2 ARCSIN, REAL(REAL) +2 ARCTAN=1 +2 ROMXX=2 +2 ERROR=3 +60600000100000000000100006000040035280000410011600004402006000030020480000420000 +60600000200006600003602396000040034960000100352600002503496000030010280000000012 +602000003000122416249550040000990000 +2 ARCCOS, REAL(REAL) +2 ARCTAN=1 +2 ROMXX=2 +2 ERROR=3 +60600000100000000000100006000040035280000420000600003602398000041001660000440200 +60600000200006600003002046000025035260000440100600003001008000042000060000410352 +60600000300012000014900001000033000080000220019100003000008000000001724143566200 +60300000400018000000000000513141592740000990000 +2 ARCTAN, REAL(REAL) +2 ERROR=1 +60600000100000000064500008000042000060010180151600004001528441240003580001340009 +60600000200006844012700358501010005360000250152800101800078000134004100000490002 +60600000300012600004001526000014015260000400149800001400548000012005560000140149 +60600000400018800001200566000014014980000120057600004001508000010005860000140149 +60600000500024800001200596000014014980000120060600001401498000012005760000140152 +60600000600030000014800026000015015060000400150611052601506000010015010000200000 +60600000700036800001000616000041015200001490000600002301501000030000160000400152 +60600000800042600002401526000040014980000240062800002200636000024014980000230064 +60600000900048600002401496000024015260000220152600004001508000030003505099999999 +60600001000054000490175910056503098001453567135010000000000000856118900280504541 +60600001100060011202340140511570796315014281428050200000000503333333340000990000 +2 ROMXX, REAL(REAL) +2 ERROR=1 +2 SQRT=2 +60600000100000700030100008440028000060000310121800004100388041140003460010180151 +60600000200006800003400348225136003180000360032600004001526000024015200001490002 +60600000300012802114000318000142003110001480051800001300440000149001060000130148 +60600000400018600001301480000149001080000310022800511200458440028002181100360029 +60600000500024804124000318000041003100001490018800004200006000030020200001490001 +60600000600030800012100230000143000060000220151800003000278000041003780000420000 +60600000700036600003001072595654676780000000037800001000466000041015210000370000 +60600000800042000014900001000030000001000000000000000000010511570796340000990000 +2 ENTIRE, REAL(REAL) +60600000100000000064500008221018001280000340010000014800008000033000700000430000 +60600000200006800002200138000022001280000230012000014900008000042000010000300000 +60300000300012058100000000509999999940000990000 +2 LABEL +2 ERROR=1 +60600000100000080003800008000042003660000310121800004200001440128999880002400049 +60600000200006800004200001440028999980000400050100001000006000040014900001480010 +60600000300012800004400488000133003660000400144600014001458000110004980000130051 +60600000400018000014800108000044004880000300036608114001468000030002362224260146 +60600000500024622042601478040326002287000380030800004200008000010005010000300000 +60600000600030800004200326001029012460050290137600004401366000030013480000300027 +60600000700036880014500030000049000100001490001800001300528110826003680000310037 +60600000800042811052600418000031004660000400150800003000360000148001060000100150 +60600000900048000003000480000000000000000000000000000100000000000008040000990000 +2 MONIT +2 ERROR=1 +2 RITE=2 +60600000100000000003800006000240014980000420017600003101216000040015280000420000 +60600000200006144002899991000041000080001400050800004200008000046005380000460054 +60600000300012864124000511000010999780000330016600001301498041040002080001450004 +60600000400018100004199988110837002200000120020800003000236000012015282100370034 +605000005000248000040005280000330027842202600518041240003260504440200 +602000006000294000004000060050300200 RELOCATE /44 FIELD OF BUN INSTRUCTION +60600000700030600001001526000042014900000300032000003000330000148000880000460052 +60600000800036888114000528000033003984220260051000004300008880037004280000130055 +60600000900042802232600538620326005180110400054000004900018891040005489108260054 +60600001000048871082600548000030002700000000000233000000000000000000000000000000 +60300001100054000000000000000000005040000990000 +2 TRACE +2 ERROR=1 +60600000100000090003800008440028001560000310121800004200008000040002010000109999 +60600000200006844104000028440036001510000100000804101800038000135001280002200008 +60600000300012800011200028000012002180000310015700034400000440036000280000420000 +605000004000188000010002010000300000000000000000999900000040000990000 +2 SINH, REAL(REAL) +2 EXP=1 +2 ERROR=2 +60600000100000000024500006001018017180000340025800101800288000134001460000440100 +60600000200006600003001026000040025260000110251600002502526000022025280000240028 +60600000300012800004200001000030000060000400252600002402526000040024980000240029 +60600000400018800002200306000024024980000220031600002402496000024025260000220252 +60600000500024800003000128000042000080000410032600003002000505000000004719841270 +6040000060003004883333333050166666672624955480040000990000 +2 TANH, REAL(REAL) +2 SINH=1 +2 COSH=2 +2 ERROR=3 +60600000100000000000100008000040001980000410021800101800238000034001560000440200 +60600000200006600003002028000040002080000360013800001000196000044010060000300100 +60600000300012800002500208000042000010000300000600001003518000041001900001490000 +60600000400018800003000130000000000000000000000800000000222634155480005250000000 +6010000050002440000990000 +2 COSH, REAL(REAL) +2 EXP=1 +2 ERROR=2 +60600000100000000000100008000041001300000430000600004401006000030010280000360011 +60600000200006600004002526000010025160000250252600002202528000024001580000420000 +605000003000121000030000080000000014243566248000505000000040000990000 +2 REED +2 READ=1 +60600000100000000000100008000042000080412400008100001099980000048000183210400007 +6040000020000614400289999110700300000000030000840000990000 +2 RITE +60600000100000000000100008000042000080412400067100004199988310037001583122370015 +60600000200006831333700128314437001483155370012831663700148317737001280000300016 +60600000300012810100600708000030001681010060069810100600691440028999984144370023 +60600000400018841663700540000148000183211400021112100600008000030005881010060071 +60600000500024110100600001000010000100001480008000004900020000149000400000490001 +60600000600030000024300000000249000180010400068810100600681000010000200000430000 +60600000700036800004000688101006006880000100069000024300008000040006810000100003 +60600000800042802104000688101006006880000100069000024300008000040006810000100004 +60600000900048804104000688610227006880000330051851022600688101006006880000300058 +60600001000054810100600710000148000183211400057115700600008000042000010000419998 +60600001100060831113700648312237006683166370066800003000678101006007080000300067 +60600001200066810100600690000030006720000000000216020202022161502020220000000000 +6010000130007240000990000 +2 FINISH; +777 DUMMY REJECT CARD TO END GENERATOR DECK diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA-Object.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA-Object.card new file mode 100644 index 0000000..e174d08 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA-Object.card @@ -0,0 +1,8 @@ +60600000100000 00000010000 +6 80000420000 +6 80412400007 +6 14400289999 +6 11140030000 +6 00001450000 +60200000200006 12210400000 +6 00000300007 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.card new file mode 100644 index 0000000..a5818e8 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.card @@ -0,0 +1,13 @@ + REM BALGOL COMPILER INPUTMEDIA ROUTINE FOR PAPER TAPE. + REM 2018-07-31 P.KIMPEL + REM + PTU DEFN 1 PAPER TAPE INPUT UNIT NR + REM + ITBL NOP * ENTRY POINT + LDB 8 ITBL LOAD RETURN ADDRESS TO B + STB 8 EXIT,04 STORE IN EXIT BUN ADDR + DLB - 9999,44,0 LOAD BUFFER ADDR TO B + PRD - 0,PTU,14 READ 14 WORDS INTO BUFFER + STB - 0,22 MAKE 1ST CHAR IN BUFFER A SPACE + EXIT BUN * RETURN TO CALLER + FINI ITBL diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.lst b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.lst new file mode 100644 index 0000000..20bbcca --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-INPUTMEDIA.lst @@ -0,0 +1,27 @@ +Assembler for the Burroughs 220 BALGOL Compiler & Library -- 2018-08-06 14:22 + +Source File: PT-INPUTMEDIA.card + +START PASS 2 + + BALGOL COMPILER INPUTMEDIA ROUTINE FOR PAPER TAPE. + 2018-07-31 P.KIMPEL + + 4 0000 PTU DEFN 1 PAPER TAPE INPUT UNIT NR + + 6 0000 0 0000 01 0000 ITBL NOP * ENTRY POINT + 7 0001 8 0000 42 0000 LDB 8 ITBL LOAD RETURN ADDRESS TO B + 8 0002 8 0412 40 0007 STB 8 EXIT,04 STORE IN EXIT BUN ADDR + 9 0003 1 4400 28 9999 DLB - 9999,44,0 LOAD BUFFER ADDR TO B + 10 0004 1 1140 03 0000 PRD - 0,PTU,14 READ 14 WORDS INTO BUFFER + 11 0005 0 0001 45 0000 CLA ZERO A REG + 12 0006 1 2210 40 0000 STA - 0,22 MAKE 1ST CHAR IN BUFFER A SPACE + 13 0007 0 0000 30 0007 EXIT BUN * RETURN TO CALLER + 14 0008 FINI ITBL + + +SYMBOL TABLE + + 8 BMOD 7 EXIT 0 ITBL 1 PTU 1 RLO + +END PASS 2, ERRORS = 0 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA-Object.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA-Object.card new file mode 100644 index 0000000..7bb9508 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA-Object.card @@ -0,0 +1,120 @@ +60600000100000 00000010000 +6 80000420000 +6 80412400073 +6 10000419998 +6 83100370015 +6 83122370015 +60600000200006 83133370012 +6 83144370014 +6 83155370012 +6 83166370014 +6 83177370012 +6 80000300016 +60600000300012 81010060115 +6 80000300016 +6 81010060114 +6 81010060114 +6 14400289999 +6 84122370037 +60600000400018 84100370025 +6 84144370047 +6 84188370056 +6 00001480001 +6 83211400023 +6 11230060000 +60600000500024 80000300064 +6 10000100000 +6 80000440079 +6 80000300074 +6 10000100001 +6 80000440112 +60600000600030 80000300091 +6 10000100001 +6 80000440090 +6 80000300080 +6 81010060116 +6 11010060002 +60600000700036 80000300064 +6 10000100000 +6 00000480004 +6 80000440090 +6 80000300080 +6 81010060118 +60600000800042 00001480001 +6 83211400045 +6 83101270045 +6 11450060000 +6 80000300064 +6 10000100000 +60600000900048 80000440079 +6 80000300074 +6 10000100001 +6 80000440112 +6 80000300091 +6 81010060119 +60600001000054 11010060002 +6 80000300064 +6 10000100000 +6 80000440079 +6 80000300074 +6 81010060119 +60600001100060 81010060119 +6 10000100001 +6 80000440090 +6 80000300080 +6 80000420000 +6 10000419998 +60600001200066 83111370070 +6 83122370072 +6 83166370072 +6 80000300073 +6 81010060115 +6 80000300073 +60600001300072 81010060114 +6 00000300073 +6 81010060119 +6 10000100000 +6 80000440090 +6 80000300080 +60600001400078 81010060117 +6 00000300079 +6 09001480004 +6 80000100117 +6 81104260080 +6 00008430000 +60600001500084 00002490001 +6 00001490001 +6 81101270080 +6 80000320083 +6 80010400113 +6 81010060113 +60600001600090 00000300090 +6 00001480010 +6 80000100116 +6 00001490000 +6 00002480001 +6 00008430000 +60600001700096 00002480001 +6 84410400113 +6 81010060113 +6 00001490004 +6 80000440090 +6 80000300080 +60600001800102 80000100118 +6 00008430000 +6 00000490001 +6 00001490001 +6 00008430000 +6 00000490001 +60600001900108 00001490001 +6 00000480002 +6 80010400113 +6 81010060113 +6 00000300112 +6 20000000000 +60600002000114 21602020202 +6 21615020202 +6 20002020202 +6 20000000202 +6 20000000002 +6 20000000000 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.card new file mode 100644 index 0000000..4dcc328 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.card @@ -0,0 +1,155 @@ + REM BALGOL COMPILER OUTPUTMEDIA ROUTINE FOR PAPER TAPE. + REM 2018-07-31 P.KIMPEL + REM + PTU DEFN 1 PAPER TAPE/TTY OUTPUT UNIT NR + REM + OTBL NOP * ENTRY POINT + LDB 8 OTBL LOAD RETURN ADDRESS TO B + STB 8 EXIT,04 STORE IN EXIT BUN ADDR + LDR - 9998 LOAD STP WORD TO R + REM + REM OUTPUT CARRIAGE CONTROL BEFORE PRINT + REM + BFR 8 SSB,31,00 SINGLE SPACE BEFORE + BFR 8 SSB,31,22 SINGLE SPACE BEFORE AND AFTER + BFR 8 FFB,31,33 SKIP CH.1 BEFORE + BFR 8 DSB,31,44 DOUBLE SPACE BEFORE + BFR 8 FFB,31,55 SKIP CH.2 BEFORE + BFR 8 DSB,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + BFR 8 FFB,31,77 SKIP CH.3 BEFORE + BUN 8 FMT ALL OTHER CASES, NO CC BEFORE + REM + FFB PWR 8 FF,PTU,1 OUTPUT FORM-FEED + BUN 8 FMT + DSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + SSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + REM + REM FORMAT LINE ACCORDING TO F-DIGIT IN STP WORD + REM + FMT DLB - 9999,44,0 LOAD BUFFER ADDR TO B + BFR 8 FMT2,41,22 FORMAT ALGOL STATEMENT + BFR 8 FMT1,41,00 FORMAT MACHINE INSTRUCTION + BFR 8 FMT3,41,44 FORMAT FORWARDS + BFR 8 FMT5,41,88 FORMAT FIXUPS + REM + FMT4 SRT 1 SHIFT BUF LEN IN R TO /32 + STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT1 CAD - 0 FETCH 1ST WORD FROM BUFFER + STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + BUN 8 PFX1 + CAD - 1 FETCH 2ND WORD FROM BUFFER + STP 8 IOUTX FORMAT 7 HIGH-ORDER DIGITS + BUN 8 IOUT + CAD - 1 REFETCH 2ND WORD FROM BUFFER + STP 8 AOUTX OUTPUT THE ADDRESS FIELD + BUN 8 AOUT + PWR 8 SP1,PTU,1 OUTPUT A SPACE + PWR - 2,PTU,1 OUTPUT 3RD WORD FROM BUFFER + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT2 CAD - 0 FETCH 1ST WORD FROM BUFFER + SRA 4 POSITION ADDRESS DIGITS + STP 8 AOUTX OUTPUT THE ADDRESS + BUN 8 AOUT + PWR 8 SP4,PTU,1 OUTPUT 4 SPACES + SRT 1 SHIFT BUF LEN IN R TO /32 + STR 8 *+2,32 STORE BUF LEN INTO PWR NEXT + DFL 8 *+1,31,1 DECREMENT LEN BY 1 + PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT3 CAD - 0 FETCH 1ST WORD FROM BUFFER + STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + BUN 8 PFX1 + CAD - 1 FETCH 2ND WORD FROM BUFFER + STP 8 IOUTX FORMAT 7 HIGH-ORDER DIGITS + BUN 8 IOUT + PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + PWR - 2,PTU,1 OUTPUT 3RD WORD FROM BUFFER + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT5 CAD - 0 FETCH 1ST WORD FROM BUFFER + STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + BUN 8 PFX1 + PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + PWR 8 SP5,PTU,1 OUTPUT 5 MORE + CAD - 1 FETCH 2ND WORD FROM BUFFER + STP 8 AOUTX OUTPUT THE ADDRESS + BUN 8 AOUT + REM + REM CARRIAGE CONTROL AFTER PRINT + REM + CCA LDB 8 OTBL LOAD RETURN ADDRESS TO B + LDR - 9998 LOAD STP WORD TO R + BFR 8 FFA,31,11 SKIP CH.1 AFTER + BFR 8 SSA,31,22 SINGLE SPACE BEFORE AND AFTER + BFR 8 SSA,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + BUN 8 EXIT ALL OTHER CASES, NO CC AFTER + REM + FFA PWR 8 FF,PTU,1 OUTPUT FORM-FEED + BUN 8 EXIT + SSA PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + REM + EXIT BUN * RETURN TO CALLER + REM + REM OUTPUT INSTRUCTION PREFIX ROUTINE + REM + PFX1 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + CAD - 0 LOAD ADDRESS WORD FROM BUF + STP 8 AOUTX OUTPUT THE ADDRESS + BUN 8 AOUT + PWR 8 SP3,PTU,1 OUTPUT 3 SPACES + PFX1X BUN * RETURN TO CALLER + REM + REM OUTPUT 4 LOW-ORDER DIGITS IN A ROUTINE + REM + AOUT SRT 4,900 SHIFT DIGITS TO R + CAD 8 SP3 LOAD SP3 WORD FOR 02 CHAR + IFL 8 AOUT,11,4 SET REPEAT COUNT + *L LSA 8 SET SIGN TO 8 + SLS 1 ROTATE IT TO THE /01 DIGIT + SLT 1 SHIFT DIGIT FROM R + DFL 8 AOUT,11,1 DECREMENT REPEAT COUNT + BRP 8 L- LOOP IF NOT DONE + STA 8 SIGN2,00 STORE IN /00 OF OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT ADDRESS STRING + AOUTX BUN * RETURN TO CALLER + REM + REM OUTPUT 7 HIGH-ORDER INSTRUCTION DIGITS IN A ROUTINE + REM + IOUT SRT 10 MOVE INSTRUCTION TO R + CAD 8 SP1 LOAD SP1 WORD AS SKELETON + SLT 0 COPY SIGN FROM R TO A + SRS 1 SHIFT SIGN DIGIT TO /11 + LSA 8 SET NUMERIC ZONE + SRS 1 SHIFT ZONE TO /11 + STA 8 SIGN2,44 STORE RESULT IN OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT SIGN+SPACE + SLT 4 SHIFT CONTROL DIGITS TO A + STP 8 AOUTX OUTPUT CONTROL DIGITS + BUN 8 AOUT + CAD 8 SP4 LOAD SP4 WORD AS SKELETON + LSA 8 SET SIGN TO 8 + SLA 1 SHIFT 1ST ZONE DIGIT TO /01 + SLT 1 SHIFT 1ST NUMERIC DIGIT TO /01 + LSA 8 SET SIGN TO 8 + SLA 1 SHIFT 2ND ZONE DIGIT TO /01 + SLT 1 SHIFT 2ND NUMERIC DIGIT TO /01 + SRA 2 SHIFT ZERO (SPACE) TO /01 + STA 8 SIGN2,00 STORE IN /00 OF OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT OP CODE DIGITS + IOUTX BUN * RETURN TO CALLER + REM + REM STORAGE + REM + SIGN2 CNST 20000000000 SIGN-2 WORD FOR PWR OUTPUT + CR CNST 21602020202 CARRIAGE-RETURN WORD + FF CNST 21615020202 FORM-FEED WORD + SP1 CNST 20002020202 1 SPACE + SP3 CNST 20000000202 3 SPACES + SP4 CNST 20000000002 4 SPACES + SP5 CNST 20000000000 5 SPACES + FINI OTBL diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.lst b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.lst new file mode 100644 index 0000000..f6fef96 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-OUTPUTMEDIA.lst @@ -0,0 +1,174 @@ +Assembler for the Burroughs 220 BALGOL Compiler & Library -- 2018-08-06 14:04 + +Source File: PT-OUTPUTMEDIA.card + +START PASS 2 + + BALGOL COMPILER OUTPUTMEDIA ROUTINE FOR PAPER TAPE. + 2018-07-31 P.KIMPEL + + 4 0000 PTU DEFN 1 PAPER TAPE/TTY OUTPUT UNIT NR + + 6 0000 0 0000 01 0000 OTBL NOP * ENTRY POINT + 7 0001 8 0000 42 0000 LDB 8 OTBL LOAD RETURN ADDRESS TO B + 8 0002 8 0412 40 0073 STB 8 EXIT,04 STORE IN EXIT BUN ADDR + 9 0003 1 0000 41 9998 LDR - 9998 LOAD STP WORD TO R + + OUTPUT CARRIAGE CONTROL BEFORE PRINT + + 13 0004 8 3100 37 0015 BFR 8 SSB,31,00 SINGLE SPACE BEFORE + 14 0005 8 3122 37 0015 BFR 8 SSB,31,22 SINGLE SPACE BEFORE AND AFTER + 15 0006 8 3133 37 0012 BFR 8 FFB,31,33 SKIP CH.1 BEFORE + 16 0007 8 3144 37 0014 BFR 8 DSB,31,44 DOUBLE SPACE BEFORE + 17 0008 8 3155 37 0012 BFR 8 FFB,31,55 SKIP CH.2 BEFORE + 18 0009 8 3166 37 0014 BFR 8 DSB,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + 19 0010 8 3177 37 0012 BFR 8 FFB,31,77 SKIP CH.3 BEFORE + 20 0011 8 0000 30 0016 BUN 8 FMT ALL OTHER CASES, NO CC BEFORE + + 22 0012 8 1010 06 0115 FFB PWR 8 FF,PTU,1 OUTPUT FORM-FEED + 23 0013 8 0000 30 0016 BUN 8 FMT + 24 0014 8 1010 06 0114 DSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + 25 0015 8 1010 06 0114 SSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + + FORMAT LINE ACCORDING TO F-DIGIT IN STP WORD + + 29 0016 1 4400 28 9999 FMT DLB - 9999,44,0 LOAD BUFFER ADDR TO B + 30 0017 8 4122 37 0037 BFR 8 FMT2,41,22 FORMAT ALGOL STATEMENT + 31 0018 8 4100 37 0025 BFR 8 FMT1,41,00 FORMAT MACHINE INSTRUCTION + 32 0019 8 4144 37 0047 BFR 8 FMT3,41,44 FORMAT FORWARDS + 33 0020 8 4188 37 0056 BFR 8 FMT5,41,88 FORMAT FIXUPS + + 35 0021 0 0001 48 0001 FMT4 SRT 1 SHIFT BUF LEN IN R TO /32 + 36 0022 8 3211 40 0023 STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + 37 0023 1 1230 06 0000 PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + 38 0024 8 0000 30 0064 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 40 0025 1 0000 10 0000 FMT1 CAD - 0 FETCH 1ST WORD FROM BUFFER + 41 0026 8 0000 44 0079 STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + 42 0027 8 0000 30 0074 BUN 8 PFX1 + 43 0028 1 0000 10 0001 CAD - 1 FETCH 2ND WORD FROM BUFFER + 44 0029 8 0000 44 0112 STP 8 IOUTX FORMAT 7 HIGH-ORDER DIGITS + 45 0030 8 0000 30 0091 BUN 8 IOUT + 46 0031 1 0000 10 0001 CAD - 1 REFETCH 2ND WORD FROM BUFFER + 47 0032 8 0000 44 0090 STP 8 AOUTX OUTPUT THE ADDRESS FIELD + 48 0033 8 0000 30 0080 BUN 8 AOUT + 49 0034 8 1010 06 0116 PWR 8 SP1,PTU,1 OUTPUT A SPACE + 50 0035 1 1010 06 0002 PWR - 2,PTU,1 OUTPUT 3RD WORD FROM BUFFER + 51 0036 8 0000 30 0064 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 53 0037 1 0000 10 0000 FMT2 CAD - 0 FETCH 1ST WORD FROM BUFFER + 54 0038 0 0000 48 0004 SRA 4 POSITION ADDRESS DIGITS + 55 0039 8 0000 44 0090 STP 8 AOUTX OUTPUT THE ADDRESS + 56 0040 8 0000 30 0080 BUN 8 AOUT + 57 0041 8 1010 06 0118 PWR 8 SP4,PTU,1 OUTPUT 4 SPACES + 58 0042 0 0001 48 0001 SRT 1 SHIFT BUF LEN IN R TO /32 + 59 0043 8 3211 40 0045 STR 8 *+2,32 STORE BUF LEN INTO PWR NEXT + 60 0044 8 3101 27 0045 DFL 8 *+1,31,1 DECREMENT LEN BY 1 + 61 0045 1 1450 06 0000 PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + 62 0046 8 0000 30 0064 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 64 0047 1 0000 10 0000 FMT3 CAD - 0 FETCH 1ST WORD FROM BUFFER + 65 0048 8 0000 44 0079 STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + 66 0049 8 0000 30 0074 BUN 8 PFX1 + 67 0050 1 0000 10 0001 CAD - 1 FETCH 2ND WORD FROM BUFFER + 68 0051 8 0000 44 0112 STP 8 IOUTX FORMAT 7 HIGH-ORDER DIGITS + 69 0052 8 0000 30 0091 BUN 8 IOUT + 70 0053 8 1010 06 0119 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + 71 0054 1 1010 06 0002 PWR - 2,PTU,1 OUTPUT 3RD WORD FROM BUFFER + 72 0055 8 0000 30 0064 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 74 0056 1 0000 10 0000 FMT5 CAD - 0 FETCH 1ST WORD FROM BUFFER + 75 0057 8 0000 44 0079 STP 8 PFX1X OUTPUT INSTRUCTION PREFIX + 76 0058 8 0000 30 0074 BUN 8 PFX1 + 77 0059 8 1010 06 0119 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + 78 0060 8 1010 06 0119 PWR 8 SP5,PTU,1 OUTPUT 5 MORE + 79 0061 1 0000 10 0001 CAD - 1 FETCH 2ND WORD FROM BUFFER + 80 0062 8 0000 44 0090 STP 8 AOUTX OUTPUT THE ADDRESS + 81 0063 8 0000 30 0080 BUN 8 AOUT + + CARRIAGE CONTROL AFTER PRINT + + 85 0064 8 0000 42 0000 CCA LDB 8 OTBL LOAD RETURN ADDRESS TO B + 86 0065 1 0000 41 9998 LDR - 9998 LOAD STP WORD TO R + 87 0066 8 3111 37 0070 BFR 8 FFA,31,11 SKIP CH.1 AFTER + 88 0067 8 3122 37 0072 BFR 8 SSA,31,22 SINGLE SPACE BEFORE AND AFTER + 89 0068 8 3166 37 0072 BFR 8 SSA,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + 90 0069 8 0000 30 0073 BUN 8 EXIT ALL OTHER CASES, NO CC AFTER + + 92 0070 8 1010 06 0115 FFA PWR 8 FF,PTU,1 OUTPUT FORM-FEED + 93 0071 8 0000 30 0073 BUN 8 EXIT + 94 0072 8 1010 06 0114 SSA PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + + 96 0073 0 0000 30 0073 EXIT BUN * RETURN TO CALLER + + OUTPUT INSTRUCTION PREFIX ROUTINE + + 100 0074 8 1010 06 0119 PFX1 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + 101 0075 1 0000 10 0000 CAD - 0 LOAD ADDRESS WORD FROM BUF + 102 0076 8 0000 44 0090 STP 8 AOUTX OUTPUT THE ADDRESS + 103 0077 8 0000 30 0080 BUN 8 AOUT + 104 0078 8 1010 06 0117 PWR 8 SP3,PTU,1 OUTPUT 3 SPACES + 105 0079 0 0000 30 0079 PFX1X BUN * RETURN TO CALLER + + OUTPUT 4 LOW-ORDER DIGITS IN A ROUTINE + + 109 0080 0 9001 48 0004 AOUT SRT 4,900 SHIFT DIGITS TO R + 110 0081 8 0000 10 0117 CAD 8 SP3 LOAD SP3 WORD FOR 02 CHAR + 111 0082 8 1104 26 0080 IFL 8 AOUT,11,4 SET REPEAT COUNT + 112 0083 0 0008 43 0000 *L LSA 8 SET SIGN TO 8 + 113 0084 0 0002 49 0001 SLS 1 ROTATE IT TO THE /01 DIGIT + 114 0085 0 0001 49 0001 SLT 1 SHIFT DIGIT FROM R + 115 0086 8 1101 27 0080 DFL 8 AOUT,11,1 DECREMENT REPEAT COUNT + 116 0087 8 0000 32 0083 BRP 8 L- LOOP IF NOT DONE + 117 0088 8 0010 40 0113 STA 8 SIGN2,00 STORE IN /00 OF OUTPUT WORD + 118 0089 8 1010 06 0113 PWR 8 SIGN2,PTU,1 OUTPUT ADDRESS STRING + 119 0090 0 0000 30 0090 AOUTX BUN * RETURN TO CALLER + + OUTPUT 7 HIGH-ORDER INSTRUCTION DIGITS IN A ROUTINE + + 123 0091 0 0001 48 0010 IOUT SRT 10 MOVE INSTRUCTION TO R + 124 0092 8 0000 10 0116 CAD 8 SP1 LOAD SP1 WORD AS SKELETON + 125 0093 0 0001 49 0000 SLT 0 COPY SIGN FROM R TO A + 126 0094 0 0002 48 0001 SRS 1 SHIFT SIGN DIGIT TO /11 + 127 0095 0 0008 43 0000 LSA 8 SET NUMERIC ZONE + 128 0096 0 0002 48 0001 SRS 1 SHIFT ZONE TO /11 + 129 0097 8 4410 40 0113 STA 8 SIGN2,44 STORE RESULT IN OUTPUT WORD + 130 0098 8 1010 06 0113 PWR 8 SIGN2,PTU,1 OUTPUT SIGN+SPACE + 131 0099 0 0001 49 0004 SLT 4 SHIFT CONTROL DIGITS TO A + 132 0100 8 0000 44 0090 STP 8 AOUTX OUTPUT CONTROL DIGITS + 133 0101 8 0000 30 0080 BUN 8 AOUT + 134 0102 8 0000 10 0118 CAD 8 SP4 LOAD SP4 WORD AS SKELETON + 135 0103 0 0008 43 0000 LSA 8 SET SIGN TO 8 + 136 0104 0 0000 49 0001 SLA 1 SHIFT 1ST ZONE DIGIT TO /01 + 137 0105 0 0001 49 0001 SLT 1 SHIFT 1ST NUMERIC DIGIT TO /01 + 138 0106 0 0008 43 0000 LSA 8 SET SIGN TO 8 + 139 0107 0 0000 49 0001 SLA 1 SHIFT 2ND ZONE DIGIT TO /01 + 140 0108 0 0001 49 0001 SLT 1 SHIFT 2ND NUMERIC DIGIT TO /01 + 141 0109 0 0000 48 0002 SRA 2 SHIFT ZERO (SPACE) TO /01 + 142 0110 8 0010 40 0113 STA 8 SIGN2,00 STORE IN /00 OF OUTPUT WORD + 143 0111 8 1010 06 0113 PWR 8 SIGN2,PTU,1 OUTPUT OP CODE DIGITS + 144 0112 0 0000 30 0112 IOUTX BUN * RETURN TO CALLER + + STORAGE + + 148 0113 2 0000 00 0000 SIGN2 CNST 20000000000 SIGN-2 WORD FOR PWR OUTPUT + 149 0114 2 1602 02 0202 CR CNST 21602020202 CARRIAGE-RETURN WORD + 150 0115 2 1615 02 0202 FF CNST 21615020202 FORM-FEED WORD + 151 0116 2 0002 02 0202 SP1 CNST 20002020202 1 SPACE + 152 0117 2 0000 00 0202 SP3 CNST 20000000202 3 SPACES + 153 0118 2 0000 00 0002 SP4 CNST 20000000002 4 SPACES + 154 0119 2 0000 00 0000 SP5 CNST 20000000000 5 SPACES + 155 0120 FINI OTBL + + +SYMBOL TABLE + + 83 *L..1 80 AOUT 90 AOUTX 8 BMOD 64 CCA + 114 CR 14 DSB 73 EXIT 115 FF 70 FFA + 12 FFB 16 FMT 25 FMT1 37 FMT2 47 FMT3 + 21 FMT4 56 FMT5 91 IOUT 112 IOUTX 0 OTBL + 74 PFX1 79 PFX1X 1 PTU 1 RLO 113 SIGN2 + 116 SP1 117 SP3 118 SP4 119 SP5 72 SSA + 15 SSB + +END PASS 2, ERRORS = 0 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED-Object.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED-Object.card new file mode 100644 index 0000000..492552b --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED-Object.card @@ -0,0 +1,2 @@ +60600000100000000000100008000042000080412400008100001099980000048000183210400007 +6040000020000614400289999110700300000000030000840000990000 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.card new file mode 100644 index 0000000..2fe9121 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.card @@ -0,0 +1,16 @@ + REM BALGOL LIBRARY REED ROUTINE FOR PAPER TAPE. + REM 2018-08-05 P.KIMPEL + REM + PTU DEFN 1 PAPER TAPE INPUT UNIT NR + REM + REED NOP * ENTRY POINT + LDB 8 REED LOAD RETURN ADDRESS TO B + STB 8 EXIT,04 STORE IN EXIT BUN ADDR + CAD - 9998 LOAD STP WORD INTO A + SRA 1 SHIFT BUF LEN TO /32 + STA 8 *+2,32 STORE BUF LEN IN PRD WORD + DLB - 9999,44,0 LOAD BUFFER ADDR TO B + PRD - 0,PTU,* READ WORDS INTO BUFFER + EXIT BUN * RETURN TO CALLER + CNST 40000990000 END SIGNAL FOR LOADER + FINI REED diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.lst b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.lst new file mode 100644 index 0000000..6853ae4 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-REED.lst @@ -0,0 +1,29 @@ +Assembler for the Burroughs 220 BALGOL Compiler & Library -- 2018-08-06 14:07 + +Source File: PT-REED.card + +START PASS 2 + + BALGOL LIBRARY REED ROUTINE FOR PAPER TAPE. + 2018-08-05 P.KIMPEL + + 4 0000 PTU DEFN 1 PAPER TAPE INPUT UNIT NR + + 6 0000 0 0000 01 0000 REED NOP * ENTRY POINT + 7 0001 8 0000 42 0000 LDB 8 REED LOAD RETURN ADDRESS TO B + 8 0002 8 0412 40 0008 STB 8 EXIT,04 STORE IN EXIT BUN ADDR + 9 0003 1 0000 10 9998 CAD - 9998 LOAD STP WORD INTO A + 10 0004 0 0000 48 0001 SRA 1 SHIFT BUF LEN TO /32 + 11 0005 8 3210 40 0007 STA 8 *+2,32 STORE BUF LEN IN PRD WORD + 12 0006 1 4400 28 9999 DLB - 9999,44,0 LOAD BUFFER ADDR TO B + 13 0007 1 1070 03 0000 PRD - 0,PTU,* READ WORDS INTO BUFFER + 14 0008 0 0000 30 0008 EXIT BUN * RETURN TO CALLER + 15 0009 4 0000 99 0000 CNST 40000990000 END SIGNAL FOR LOADER + 16 0010 FINI REED + + +SYMBOL TABLE + + 8 BMOD 8 EXIT 1 PTU 0 REED 1 RLO + +END PASS 2, ERRORS = 0 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE-Object.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE-Object.card new file mode 100644 index 0000000..5693803 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE-Object.card @@ -0,0 +1,13 @@ +60600000100000000000100008000042000080412400067100004199988310037001583122370015 +60600000200006831333700128314437001483155370012831663700148317737001280000300016 +60600000300012810100600708000030001681010060069810100600691440028999984144370023 +60600000400018841663700540000148000183211400021112100600008000030005881010060071 +60600000500024110100600001000010000100001480008000004900020000149000400000490001 +60600000600030000024300000000249000180010400068810100600681000010000200000430000 +60600000700036800004000688101006006880000100069000024300008000040006810000100003 +60600000800042802104000688101006006880000100069000024300008000040006810000100004 +60600000900048804104000688610227006880000330051851022600688101006006880000300058 +60600001000054810100600710000148000183211400057115700600008000042000010000419998 +60600001100060831113700648312237006683166370066800003000678101006007080000300067 +60600001200066810100600690000030006720000000000216020202022161502020220000000000 +6010000130007240000990000 \ No newline at end of file diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.card b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.card new file mode 100644 index 0000000..6c8aad3 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.card @@ -0,0 +1,97 @@ + REM BALGOL LIBRARY RITE ROUTINE FOR PAPER TAPE. + REM 2018-08-05 P.KIMPEL + REM + PTU DEFN 1 PAPER TAPE/TTY OUTPUT UNIT NR + REM + RITE NOP * ENTRY POINT + LDB 8 RITE LOAD RETURN ADDRESS TO B + STB 8 EXIT,04 STORE IN EXIT BUN + LDR - 9998 LOAD STP WORD TO R + REM + REM OUTPUT CARRIAGE CONTROL BEFORE PRINT + REM + BFR 8 SSB,31,00 SINGLE SPACE BEFORE + BFR 8 SSB,31,22 SINGLE SPACE BEFORE AND AFTER + BFR 8 FFB,31,33 SKIP CH.1 BEFORE + BFR 8 DSB,31,44 DOUBLE SPACE BEFORE + BFR 8 FFB,31,55 SKIP CH.2 BEFORE + BFR 8 DSB,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + BFR 8 FFB,31,77 SKIP CH.3 BEFORE + BUN 8 FMT ALL OTHER CASES, NO CC BEFORE + REM + FFB PWR 8 FF,PTU,1 OUTPUT FORM-FEED + BUN 8 FMT + DSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + SSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + REM + REM FORMAT LINE ACCORDING TO F-DIGIT IN STP WORD + REM + FMT DLB - 9999,44,0 LOAD BUFFER ADDR TO B + BFR 8 FMT3,41,44 FORMAT MONITOR OUTPUT + BFR 8 FMT4,41,66 FORMAT ERRORS + REM + FMT5 SRT 1 SHIFT BUF LEN IN R TO /32 + STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT3 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + PWR - 0,PTU,1 OUTPUT 1ST WORD FROM BUFFER + CAD - 1 FETCH 2ND WORD FROM BUFFER + SRT 8 SLIDE 1ST CHAR TO /02, REST TO R + SLA 2 ROTATE SPACE AFTER 1ST CHAR + SLT 4 SHIFT NEXT 2 CHAR INTO A + SLA 1 ROTATE ZERO DIGIT FOR 02 CHAR + LSA 2 LOAD NUMERIC DIGIT FOR 02 CHAR + SLS 1 ROTATE NUMERIC DIGIT FOR 02 CHAR + STA 8 SIGN2,00 STORE IN OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT WORD + CAD - 2 FETCH 3RD WORD FROM BUFFER + LSA 0 CLEAR SIGN TO PRINT NUMERICALLY + STA 8 SIGN2 STORE IN OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT WORD + CAD 8 CR LOAD CR WORD AS SKELETON + LSA 2 ROTATE CR CHAR TO /02 + STA 8 SIGN2 STORE IN OUTPUT WORD + CAD - 3 FETCH 4TH WORD FROM BUFFER + STA 8 SIGN2,02 STORE CHAR IN OUTPUT WORD + PWR 8 SIGN2,PTU,1 OUTPUT WORD + CAD 8 CR LOAD CR WORD AS SKELETON + LSA 2 ROTATE CR CHAR TO /02 + STA 8 SIGN2 STORE IN OUTPUT WORD + CAD - 4 FETCH 5TH WORD FROM BUFFER + STA 8 SIGN2,04 STORE TWO LOW-ORDER CHARS + DFL 8 SIGN2,61,2 CLEAR /62 CHAR TO SPACE + BSA 8 *+1,0 IF SIGN=0, DO NOTHING + IFL 8 SIGN2,51,2 OTHERWISE, SET /62 TO "-" + PWR 8 SIGN2,PTU,1 OUTPUT WORD + BUN 8 CCA BRANCH TO CARRIAGE CONTROL + REM + FMT4 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + SRT 1 SHIFT BUF LEN IN R TO /32 + STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + REM + REM CARRIAGE CONTROL AFTER PRINT + REM + CCA LDB 8 RITE LOAD RETURN ADDRESS TO B + LDR - 9998 LOAD STP WORD TO R + BFR 8 FFA,31,11 SKIP CH.1 AFTER + BFR 8 SSA,31,22 SINGLE SPACE BEFORE AND AFTER + BFR 8 SSA,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + BUN 8 EXIT ALL OTHER CASES, NO CC AFTER + REM + FFA PWR 8 FF,PTU,1 OUTPUT FORM-FEED + BUN 8 EXIT + SSA PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + REM + EXIT BUN * RETURN TO CALLER + REM + REM STORAGE + REM + SIGN2 CNST 20000000000 SIGN-2 WORD FOR PWR OUTPUT + CR CNST 21602020202 CARRIAGE-RETURN WORD + FF CNST 21615020202 FORM-FEED WORD + SP5 CNST 20000000000 5 SPACES + CNST 40000990000 END SIGNAL FOR LOADER + FINI RITE diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.lst b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.lst new file mode 100644 index 0000000..3563e5a --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/PaperTape-Media/PT-RITE.lst @@ -0,0 +1,113 @@ +Assembler for the Burroughs 220 BALGOL Compiler & Library -- 2018-08-06 14:08 + +Source File: PT-RITE.card + +START PASS 2 + + BALGOL LIBRARY RITE ROUTINE FOR PAPER TAPE. + 2018-08-05 P.KIMPEL + + 4 0000 PTU DEFN 1 PAPER TAPE/TTY OUTPUT UNIT NR + + 6 0000 0 0000 01 0000 RITE NOP * ENTRY POINT + 7 0001 8 0000 42 0000 LDB 8 RITE LOAD RETURN ADDRESS TO B + 8 0002 8 0412 40 0067 STB 8 EXIT,04 STORE IN EXIT BUN ADDR + 9 0003 1 0000 41 9998 LDR - 9998 LOAD STP WORD TO R + + OUTPUT CARRIAGE CONTROL BEFORE PRINT + + 13 0004 8 3100 37 0015 BFR 8 SSB,31,00 SINGLE SPACE BEFORE + 14 0005 8 3122 37 0015 BFR 8 SSB,31,22 SINGLE SPACE BEFORE AND AFTER + 15 0006 8 3133 37 0012 BFR 8 FFB,31,33 SKIP CH.1 BEFORE + 16 0007 8 3144 37 0014 BFR 8 DSB,31,44 DOUBLE SPACE BEFORE + 17 0008 8 3155 37 0012 BFR 8 FFB,31,55 SKIP CH.2 BEFORE + 18 0009 8 3166 37 0014 BFR 8 DSB,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + 19 0010 8 3177 37 0012 BFR 8 FFB,31,77 SKIP CH.3 BEFORE + 20 0011 8 0000 30 0016 BUN 8 FMT ALL OTHER CASES, NO CC BEFORE + + 22 0012 8 1010 06 0070 FFB PWR 8 FF,PTU,1 OUTPUT FORM-FEED + 23 0013 8 0000 30 0016 BUN 8 FMT + 24 0014 8 1010 06 0069 DSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + 25 0015 8 1010 06 0069 SSB PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + + FORMAT LINE ACCORDING TO F-DIGIT IN STP WORD + + 29 0016 1 4400 28 9999 FMT DLB - 9999,44,0 LOAD BUFFER ADDR TO B + 30 0017 8 4144 37 0023 BFR 8 FMT3,41,44 FORMAT MONITOR OUTPUT + 31 0018 8 4166 37 0054 BFR 8 FMT4,41,66 FORMAT ERRORS + + 33 0019 0 0001 48 0001 FMT5 SRT 1 SHIFT BUF LEN IN R TO /32 + 34 0020 8 3211 40 0021 STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + 35 0021 1 1210 06 0000 PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + 36 0022 8 0000 30 0058 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 38 0023 8 1010 06 0071 FMT3 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + 39 0024 1 1010 06 0000 PWR - 0,PTU,1 OUTPUT 1ST WORD FROM BUFFER + 40 0025 1 0000 10 0001 CAD - 1 FETCH 2ND WORD FROM BUFFER + 41 0026 0 0001 48 0008 SRT 8 SLIDE 1ST CHAR TO /02, REST TO R + 42 0027 0 0000 49 0002 SLA 2 ROTATE SPACE AFTER 1ST CHAR + 43 0028 0 0001 49 0004 SLT 4 SHIFT NEXT 2 CHAR INTO A + 44 0029 0 0000 49 0001 SLA 1 ROTATE ZERO DIGIT FOR 02 CHAR + 45 0030 0 0002 43 0000 LSA 2 LOAD NUMERIC DIGIT FOR 02 CHAR + 46 0031 0 0002 49 0001 SLS 1 ROTATE NUMERIC DIGIT FOR 02 CHAR + 47 0032 8 0010 40 0068 STA 8 SIGN2,00 STORE IN OUTPUT WORD + 48 0033 8 1010 06 0068 PWR 8 SIGN2,PTU,1 OUTPUT WORD + 49 0034 1 0000 10 0002 CAD - 2 FETCH 3RD WORD FROM BUFFER + 50 0035 0 0000 43 0000 LSA 0 CLEAR SIGN TO PRINT NUMERICALLY + 51 0036 8 0000 40 0068 STA 8 SIGN2 STORE IN OUTPUT WORD + 52 0037 8 1010 06 0068 PWR 8 SIGN2,PTU,1 OUTPUT WORD + 53 0038 8 0000 10 0069 CAD 8 CR LOAD CR WORD AS SKELETON + 54 0039 0 0002 43 0000 LSA 2 ROTATE CR CHAR TO /02 + 55 0040 8 0000 40 0068 STA 8 SIGN2 STORE IN OUTPUT WORD + 56 0041 1 0000 10 0003 CAD - 3 FETCH 4TH WORD FROM BUFFER + 57 0042 8 0210 40 0068 STA 8 SIGN2,02 STORE CHAR IN OUTPUT WORD + 58 0043 8 1010 06 0068 PWR 8 SIGN2,PTU,1 OUTPUT WORD + 59 0044 8 0000 10 0069 CAD 8 CR LOAD CR WORD AS SKELETON + 60 0045 0 0002 43 0000 LSA 2 ROTATE CR CHAR TO /02 + 61 0046 8 0000 40 0068 STA 8 SIGN2 STORE IN OUTPUT WORD + 62 0047 1 0000 10 0004 CAD - 4 FETCH 5TH WORD FROM BUFFER + 63 0048 8 0410 40 0068 STA 8 SIGN2,04 STORE TWO LOW-ORDER CHARS + 64 0049 8 6102 27 0068 DFL 8 SIGN2,61,2 CLEAR /62 CHAR TO SPACE + 65 0050 8 0000 33 0051 BSA 8 *+1,0 IF SIGN=0, DO NOTHING + 66 0051 8 5102 26 0068 IFL 8 SIGN2,51,2 OTHERWISE, SET /62 TO "-" + 67 0052 8 1010 06 0068 PWR 8 SIGN2,PTU,1 OUTPUT WORD + 68 0053 8 0000 30 0058 BUN 8 CCA BRANCH TO CARRIAGE CONTROL + + 70 0054 8 1010 06 0071 FMT4 PWR 8 SP5,PTU,1 OUTPUT 5 SPACES + 71 0055 0 0001 48 0001 SRT 1 SHIFT BUF LEN IN R TO /32 + 72 0056 8 3211 40 0057 STR 8 *+1,32 STORE BUF LEN INTO PWR NEXT + 73 0057 1 1570 06 0000 PWR - 0,PTU,* OUTPUT WORDS FROM BUFFER + + CARRIAGE CONTROL AFTER PRINT + + 77 0058 8 0000 42 0000 CCA LDB 8 RITE LOAD RETURN ADDRESS TO B + 78 0059 1 0000 41 9998 LDR - 9998 LOAD STP WORD TO R + 79 0060 8 3111 37 0064 BFR 8 FFA,31,11 SKIP CH.1 AFTER + 80 0061 8 3122 37 0066 BFR 8 SSA,31,22 SINGLE SPACE BEFORE AND AFTER + 81 0062 8 3166 37 0066 BFR 8 SSA,31,66 DOUBLE SPACE BEFORE/SINGLE AFTER + 82 0063 8 0000 30 0067 BUN 8 EXIT ALL OTHER CASES, NO CC AFTER + + 84 0064 8 1010 06 0070 FFA PWR 8 FF,PTU,1 OUTPUT FORM-FEED + 85 0065 8 0000 30 0067 BUN 8 EXIT + 86 0066 8 1010 06 0069 SSA PWR 8 CR,PTU,1 OUTPUT CARRIAGE-RETURN + + 88 0067 0 0000 30 0067 EXIT BUN * RETURN TO CALLER + + STORAGE + + 92 0068 2 0000 00 0000 SIGN2 CNST 20000000000 SIGN-2 WORD FOR PWR OUTPUT + 93 0069 2 1602 02 0202 CR CNST 21602020202 CARRIAGE-RETURN WORD + 94 0070 2 1615 02 0202 FF CNST 21615020202 FORM-FEED WORD + 95 0071 2 0000 00 0000 SP5 CNST 20000000000 5 SPACES + 96 0072 4 0000 99 0000 CNST 40000990000 END SIGNAL FOR LOADER + 97 0073 FINI RITE + + +SYMBOL TABLE + + 8 BMOD 58 CCA 69 CR 14 DSB 67 EXIT + 70 FF 64 FFA 12 FFB 16 FMT 23 FMT3 + 54 FMT4 19 FMT5 1 PTU 0 RITE 1 RLO + 68 SIGN2 71 SP5 66 SSA 15 SSB + +END PASS 2, ERRORS = 0 diff --git a/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/README.txt b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/README.txt new file mode 100644 index 0000000..6172ad2 --- /dev/null +++ b/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA/README.txt @@ -0,0 +1,23 @@ +Index of folder retro-220/software/BALGOL/BALGOL-INPUTMEDIA-OUTPUTMEDIA: +Notes and object decks for alternate input/output routines for the +Compiler and Library, as prepared for the retro-220 emulator. These are +used to configure the compiler and run-time to use different types of +peripheral devices, e.g., paper tape. + +Unless otherwise specified, all files are in standard Windows text +format, with carriage-return/line-feed delimiters. + + +Cardatron-Media.txt + Annotated listings for the default Cardatron input/output routines + from the Generator and run-time Library. + +PaperTape-Media/ + Compiler and Library routines to support paper-tape I/O for the + BALGOL compiler. + + >>> This is a work in progress <<< + + +Paul Kimpel +August 2018 diff --git a/software/BALGOL/README.txt b/software/BALGOL/README.txt index 0004276..15f61e0 100644 --- a/software/BALGOL/README.txt +++ b/software/BALGOL/README.txt @@ -277,10 +277,15 @@ BALGOL-Library/ object decks for the compiler's standard library routines as produced by the Generator program PUNCH LIBRARY... statement. +BALGOL-INPUTMEDIA-OUTPUTMEDIA/ + Notes and object decks for alternate input/output routines for the + Compiler and Library. These are used to configure the compiler and + run-time to use different types of peripheral devices, e.g., paper + tape. See the README file in the directory for details. + BALGOL-Examples/ Source code and listings for sample BALGOL programs. See the README file in the directory for details. Paul Kimpel -July 2018 - +August 2018 diff --git a/software/examples/README.txt b/software/examples/README.txt index b241e3b..f29acf3 100644 --- a/software/examples/README.txt +++ b/software/examples/README.txt @@ -65,10 +65,12 @@ WINTER.PI/ digits of Pi. This program was ported to the 220 by Paul Kimpel (via Burroughs B5500 Algol and the ElectroData/Burroughs 205) from a C program written by Dik T. Winter of CWI in Amsterdam (see - https://cs.uwaterloo.ca/~alopez-o/math-faq/mathtext/node12.html). + https://cs.uwaterloo.ca/~alopez-o/math-faq/mathtext/node12.html + and https://crypto.stanford.edu/pbc/notes/pi/code.html). Assemble with software/tools/BAC-Assembler.html. - The listing includes sample output to the SPO. + The listing includes sample output to the SPO. The program takes + about 40 minutes to run to completion. WINTER.PI.Code.lst is an assembly listing with the assembled code arranged for manual conversion to retro-220 paper-tape image format.