1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-01-11 23:52:46 +00:00

Minor updates to BALGOL-Examples.

1. Comment out MONITOR declaration in Simpsons-Rule/SIMPS.card.
2. Revise README.txt, add entry for MRS-081 example.
This commit is contained in:
Paul Kimpel 2019-12-27 10:36:54 -08:00
parent 06ac2c0956
commit 80d48d356d
2 changed files with 60 additions and 50 deletions

View File

@ -39,6 +39,55 @@ format, with carriage-return/line-feed delimiters.
A small deck with three Cardatron "777" (ignore) cards that can be
used to pad the end of a card deck.
DIRICHLET
Program for computing the solution to a Dirichlet problem for a
bean-shaped region. Reference to the article from which the program
was developed is cited in the source file. I originally wrote this
program in 1970 in Burroughs B5500 XALGOL as part of a senior thesis
project. It was later translated to B6500 Algol and modern Unisys
MCP ("E-mode") Algol. This is a modest number-cruncher, so it seemed
like a good test for BALGOL.
The BALGOL version was created from the B5500 version. Several
changes had to be made, primarily in changing arrays from lower-
bounds of zero to one, accommodating BALGOL's lack of support for
dynamically-sized arrays, differences in IF-THEN-ELSE and SWITCH
constructs, and the somewhat different syntax for formatted I/O.
The program requires a 220 with at least 7000 words of memory and a
BALGOL compiler configured for the system's memory size. It compiles
on the retro-220 emulator in a little less than six minutes (when
generating a program listing) and runs for 172 seconds before
starting to output results. The B5500 (as the retro- b5500 emulator)
generates results in about six seconds. Performance on the modern E-
mode systems varies widely by model, but on the oldest, slowest
system I have available (300 RPM, about 12 Gartner MIPS), the
equivalent time is 0.25 second.
DIRICHLET.card
Source card deck for the 220 BALGOL version of the program,
including data cards at the end.
DIRICHLET-OUTPUT.lst
Listing of compilation and results produced by the card deck
above.
DIRICHLET-OUTPUT.lst
Another listing of compilation and results produced by the card
deck above. This listing includes the code generated by the
compiler.
DIRICHLET-Object.tape
Magnetic tape image of the code generated by the compiler.
DIRICHLET-B5500-OUTPUT.lst
Listing of the B5500 version of the program, including results.
DIRICHLET-Emode-OUTPUT.lst
Listing of the Unisys MCP version of the program, including
results from a run on a 300 RPM LX100 VM system running MCP
10.1.
Library-Test-1/
BALGOL program to compute values from various library routines as a
test of the compiler and library. The listings include output from
@ -49,6 +98,14 @@ Library-Test-1/
for floating-point add/subtract to see what kind of difference that
made. The 220 did not round floating-point add/subtract results.
MRS-081/
BALGOL program from Burroughs Technical Bulletin 156, 8 June 1961,
Mathematical Report Series MRS-081, "Diagnosis of Congenital Heart
Disease from Clinical Data Using the Burroughs 220 Computer".
Includes sample data and an example of using a machine-language
routine with a BALGOL program. See the README in the folder for more
details.
Reference-Manual/
The example BALGOL programs from Section 11 of the BAC-220 Burroughs
Algebraic Compiler manual, revised edition, March 1963, Burroughs
@ -175,55 +232,6 @@ Reference-Manual/
BALGOL reference manual, but not in the March 1953 revised
edition. It it self-contained and requires no input data.
DIRICHLET
Program for computing the solution to a Dirichlet problem for a
bean-shaped region. Reference to the article from which the program
was developed is cited in the source file. I originally wrote this
program in 1970 in Burroughs B5500 XALGOL as part of a senior thesis
project. It was later translated to B6500 Algol and modern Unisys
MCP ("E-mode") Algol. This is a modest number-cruncher, so it seemed
like a good test for BALGOL.
The BALGOL version was created from the B5500 version. Several
changes had to be made, primarily in changing arrays from lower-
bounds of zero to one, accommodating BALGOL's lack of support for
dynamically-sized arrays, differences in IF-THEN-ELSE and SWITCH
constructs, and the somewhat different syntax for formatted I/O.
The program requires a 220 with at least 7000 words of memory and a
BALGOL compiler configured for the system's memory size. It compiles
on the retro-220 emulator in a little less than six minutes (when
generating a program listing) and runs for 172 seconds before
starting to output results. The B5500 (as the retro- b5500 emulator)
generates results in about six seconds. Performance on the modern E-
mode systems varies widely by model, but on the oldest, slowest
system I have available (300 RPM, about 12 Gartner MIPS), the
equivalent time is 0.25 second.
DIRICHLET.card
Source card deck for the 220 BALGOL version of the program,
including data cards at the end.
DIRICHLET-OUTPUT.lst
Listing of compilation and results produced by the card deck
above.
DIRICHLET-OUTPUT.lst
Another listing of compilation and results produced by the card
deck above. This listing includes the code generated by the
compiler.
DIRICHLET-Object.tape
Magnetic tape image of the code generated by the compiler.
DIRICHLET-B5500-OUTPUT.lst
Listing of the B5500 version of the program, including results.
DIRICHLET-Emode-OUTPUT.lst
Listing of the Unisys MCP version of the program, including
results from a run on a 300 RPM LX100 VM system running MCP
10.1.
Simpsons-Rule/
BALGOL program to compute the integral of an arbitrary single-
argument function between between two points using Simpson's Rule.
@ -273,3 +281,5 @@ February 2018
Add Simpsons-Rule example.
2018-08-10 Paul Kimpel
Add WINTER-PI example.
2019-12-14 Paul Kimpel
Add MRS-081 example.

View File

@ -16,7 +16,7 @@
2 DELTA IS THE PERMISSIBLE DIFFERENCE BETWEEN TO SUCCESSIVE SIMPSON
2 SUMS. V IS GREATER THAN THE MAXIMUM ABSOLUTE VALUE OF F ON A, B;
2 BEGIN
2 MONITOR IBAR, N, H, J, S, K, I;
2 COMMENT -- MONITOR IBAR, N, H, J, S, K, I;
2 INTEGER K, N;
2
2 IBAR = V(B-A);