1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-02-28 17:19:46 +00:00
Files
pkimpel.retro-220/software/BALGOL/BALGOL-Examples/WINTER-PI/WINTER-PI-Code-List.lst
Paul Kimpel a32815073a Commit additional BALGOL example and preliminary paper-tape support.
1. Add WINTER-PI example programs for output to line printer and SPO.
2. Add BALGOL-INPUTMEDIA-OUTPUTMEDIA directory for eventual support of
paper tape I/O in the compiler and run-time library.
2018-08-18 11:33:39 -07:00

681 lines
38 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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