Index of folder retro-220/software/BALGOL/BALGOL-Examples/MRS-081:

Source, object, and compilation listings for 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". The program listing is included
in the report and is noted as having been written by Fred B. Fielding of
the Burroughs San Francisco District office in May 1961.

This report was discovered in the Burroughs Corporation Records, Product
Literature (CBI 90), Charles Babbage Institute, University of
Minnesota, Minneapolis, Series 74, Box 43, Folder 8.

The program and report are based on a paper, "A Mathematical Approach to
Medical Diagnosis Applied to Congenital Heart Disease" by H. R. Warner,
A. F. Toronto, L.G. Veasy, and R. Stevenson. Journal of the American
Medical Association,

The report describes a program for computing the probability of a set of
congenital heart diseases occurring in a patient given the presence of a
set of symptoms observed in the patient. It includes sample data and an
example of using a machine-language routine with a BALGOL program.

To run the program, load the following decks into the Cardatron card
reader in the order indicated and compile with the BALGOL compiler:

    1.  BALGOL compiler call-out card.
    2.  MRS-081.card deck -- BALGOL source and machine-language cards.
    3.  SYMPTOM-DATA.card deck.
    4.  Case-data card deck, e.g., MRS-081-DATA.card.


MRS-081.card
    The BALGOL source deck, including the object deck for the machine-
    language subprogram. This is the original version, as transcribed
    from the report.

MRS-081-DATA.card
    Sample case-data card deck for input to the program, derived from
    sample run data in the report. This data must be inserted at the end
    of MRS-081.card deck when the program is run.

SYMPTOM-DATA.card
    Card deck for the symptom-disease probability matrix used by the
    program. This must be inserted after the cards in the MRS-081.card
    deck and before any case-data cards.

UNPACK.card
    Source deck for the machine-language UNPACK subprogram used by the
    BALGOL program to unpack rows from the symptom-disease probability
    matrix during execution. This deck was reverse-engineered from the
    numeric object code in the MRS-081.card deck. Assemble with the
    BAC-Assembler.

    As published, the machine-language routine was written for the
    BALGOL parameter-passing sequence used in the compiler dated
    1961-02-20 -- the one used in the report. The compiler available to
    and recovered as part of the retro-220 project (dated 1962-02-01)
    passes parameters in the reverse order. Thus, this version of the
    subprogram cannot be used with the available compiler. See Appendix
    F, "Construction of Machine Language Programs" in the March 1963
    Revised Edition of the BAC-220 Burroughs Algebraic Compiler manual
    (220-21017).

UNPACK.lst
    Assembly listing generated from UNPACK.card.

UNPACK-ML.card
    Object machine-language card deck generated by assembling
    UNPACK.card. The BAC-Assembler produces a machine-language deck with
    six words per card. That output has been manually reformatted to
    match the (mostly) five word-per-card layout shown in the report.
    This reformatting was done to match the machine-language deck as
    presented in the report and to allow direct verification of the
    assembled object code with the transcribed object code. The
    transcribed object code may never have had an assembler source and
    was likely programmed directly in numeric machine language.


Paul Kimpel
December 2019
    Original version, transcribe program listing and data, disassemble
    machine-language routine to BAC-Assembler notation, prepare sample
    data deck.

