]> thyrsus.com Git - mad.git/commitdiff
Various minor fixes.
authorEric S. Raymond <esr@thyrsus,com>
Tue, 29 Jun 2004 02:57:34 +0000 (02:57 +0000)
committerEric S. Raymond <esr@thyrsus,com>
Tue, 29 Jun 2004 02:57:34 +0000 (02:57 +0000)
doc/mad-manual.xml

index 98015c7e7049711bde781fda35584edd9bcc5421..330bfeb39e431cd4803601892e3376767718f99b 100644 (file)
@@ -651,8 +651,9 @@ on the left."</para>
    
 <para>Although this problem does not require it, we frequently ask a
 question like "Does j = n?"  The "=" in this context is a
-<emphasis>relation</emphasis> and yields either "YES or NO" when
-placed between two arithmetic expressions.</para>
+<emphasis>relation</emphasis><indexterm><primary>Relation</primary></indexterm>
+and yields either "YES or NO" when placed between two arithmetic
+expressions.</para>
 
 <para>We return to the example problems.  The algorithm exhibits an
 important concept, which occurs in a great many procedurs; namely, it
@@ -915,18 +916,18 @@ in the actual
 statements produced for the computer the "=" symbol conventionally has
 this meaning.<indexterm><primary>Equals Sign</primary></indexterm></para>
 
-<para>It is important to realize what the "=" means in this context; it is
-different from the usual use of the symbol where it indicated a
-<emphasis>relation</emphasis>.  When the "=" symbol is used as such a
-"replacement operator" the item on the left of the "=" is always the
-<emphasis>name</emphasis> of a <emphasis>variable</emphasis>.  The
-variable may have a complicated subscript but nevertheless it is not
-an expression, but the name of a variable.  The item on the right of
-the symbol is an expression involving one or more constants,
-variables, etc.  The operation implied is simply that the value of the
-express on the right becomes the <emphasis>value</emphasis> of the
-variable whose name appears on the left.  This is referred to as
-substitution.</para>
+<para>It is important to realize what the "=" means in this context;
+it is different from the usual use of the symbol where it indicated a
+<emphasis>relation</emphasis>.<indexterm><primary>Relation</primary></indexterm>
+When the "=" symbol is used as such a "replacement operator" the item
+on the left of the "=" is always the <emphasis>name</emphasis> of a
+<emphasis>variable</emphasis>.  The variable may have a complicated
+subscript but nevertheless it is not an expression, but the name of a
+variable.  The item on the right of the symbol is an expression
+involving one or more constants, variables, etc.  The operation
+implied is simply that the value of the express on the right becomes
+the <emphasis>value</emphasis> of the variable whose name appears on
+the left.  This is referred to as substitution.</para>
 
 <para>For our specific example, then, the evaluation of the iterative
 formula could be described as</para>
@@ -1237,7 +1238,14 @@ appear internally as $ABCD&squ;&squ;$
 <note><para>The Retrocomputing Museum implementation neither enforces
 the six-character limit nor blank-pads constants. These features were
 an artifact of packing six-bit characters into the IBM 704's 36-bit
-machine word.</para></note>
+machine word.</para>
+
+<para>The way the original is worded suggests that minus sign and dash
+were different characters in the character set that the Michigan 709
+was using.  They are rendered with the same glyph in the original, but
+this may be a collision enforced by period typewriters (like 0 and O
+being indistinguishable).</para>
+</note>
 </sect3>
 
 <sect3><title>Boolean Constants</title>
@@ -2606,7 +2614,7 @@ effective before the rest of the specification is carried out.</para>
 </informaltable>
 
 <note id='lptcodes'>
-<para>These were the standard control codes for line printers, which
+<para>These were the standard control codes for IBM line printers, which
 assumed they were printing to 132x66 fanfold paper.  There isn't a lot
 of point in simulating them on a modern page printer.  The
 Retrocomputing Museum implementation implements them by prefixing the
@@ -3868,20 +3876,20 @@ in Chapter 4).</para>
 <!-- beginpage II.49 -->
 
 <para>If a block designation
-A(i<superscript>1</superscript>,...,i<superscript>n</superscript>)...A(j<superscript>i</superscript>,...,j<superscript>n</superscript>)
+A(i<subscript>1</subscript>,...,i<subscript>n</subscript>)...A(j<subscript>i</subscript>,...,j<subscript>n</subscript>)
 is used in an input-output list &scriptL; for reading or writing
 <emphasis> binary tape </emphasis> or <emphasis> drum </emphasis>, the
 linear subscript corresponding to
-i<superscript>i</superscript>,...i<superscript>n</superscript> may not
+i<subscript>i</subscript>,...i<subscript>n</subscript> may not
 be greater than the linear subscript corresponding to
-J<superscript>1</superscript>,...,j<superscript>n</superscript>.
+J<subscript>1</subscript>,...,j<subscript>n</subscript>.
 While the list for a binary tape or drum statement is transmitted in
 the sequence written, a block
-A(i<superscript>1</superscript>,...,i<superscript>n</superscript>)...A(j<superscript>1</superscript>,...,j<superscript>n</superscript>)
+A(i<subscript>1</subscript>,...,i<subscript>n</subscript>)...A(j<subscript>1</subscript>,...,j<subscript>n</subscript>)
 within the list is actually transmitted in reverse order, i.e., in the
 sequence
-A(j<superscript>1</superscript>,...,j<superscript>n</superscript>) to
-A(i<superscript>1</superscript>,...,i<superscript>n</superscript>).</para>
+A(j<subscript>1</subscript>,...,j<subscript>n</subscript>) to
+A(i<subscript>1</subscript>,...,i<subscript>n</subscript>).</para>
 
 </sect1>
 </chapter>
@@ -4457,7 +4465,7 @@ in this case (f) = 3% of 4800.00 - (d)</para></listitem>
 in this case f = 3% of (c).</para></listitem>
 </orderedlist>
 
-<para>The information on the cares to be read will be in the following
+<para>The information on the cards to be read will be in the following
 format:</para>
 
 <informaltable>
@@ -5082,7 +5090,8 @@ order to allocate variable storage and identify the arithmetic types
 
 <listitem><para>The combination of the information produced from (1)
 and (2) to translate the arrays to relocatable binary
-programs.</para></listitem>
+programs.<indexterm><primary>Relocatable Binary
+Programs</primary></indexterm></para></listitem>
 </orderedlist>
 
 <para>When an error is encountered in one of these sections the
@@ -5115,6 +5124,11 @@ possibilities are suggested by the comment.</para>
 </sect1>
 <sect1><title>Structure of Subroutines</title>
 
+<note><para>This section describes the mechanics of writing
+MAD-accessible subroutines in IBM 709 assembler.  For tolerably
+obvious reasons, the Retrocomputing Museum implementation does
+not support this.</para></note>
+
 <para>The information in this and the following sections of Chapter IV are
 in much greater detail in other Computing Center write-ups.  However,
 the following sections should be sufficient for the general use of
@@ -5126,6 +5140,7 @@ MAD.</para>
 written in MAD as functions or in SAP<footnote><para>SAP is the SHARE
 Assembly Program which permits the writing of actual machine
 instructions in symbolic form.</para></footnote>&dd;must be relocatable
+<indexterm><primary>Relocatable Binary Programs</primary></indexterm>
 and must operate from the calling sequences the translator produces.
 Consider, for example the function call - FN. (A,B,C) - which might
 appear in the body of a statement. Assume that B is an array which has
@@ -5181,18 +5196,19 @@ DELTA, Z(10)...Z(20)).  The calling sequence would be</para>
 first, the parameters&dd;if executed as instructions&dd;would produce no
 operation.</para>
 
-<para>It is beyond the scope of this manual to discuss the structure of
-relocatble programs (see IBM FORTRAN II Manual).  It is suficient to
-say that a relocatable program must contain&dd;in adidtion to the actual
-instructions in the program&dd;information as to which addresses must be
-relocated at the time of loading for execution and which addresses
-must not.  In addition, the first card (or record) of such programs
-must contain information about the size of the program, the number of
-subroutines it calls on, the amount of stroage it will share with
-other subroutines, the location of the list of subroutines it calls
-on, and the names by which the routine itself is referred to.  The
-symbolic names of the subroutines called on must appear as the first
-words after this information.</para>
+<para>It is beyond the scope of this manual to discuss the structure
+of relocatable programs (see IBM FORTRAN II Manual).  It is sufficient
+to say that a relocatable program must contain&dd;in adidtion to the
+actual instructions in the program&dd;information as to which
+addresses must be relocated at the time of loading for execution and
+which addresses must not.<indexterm><primary>Relocatable Binary
+Programs</primary></indexterm> In addition, the first card (or record)
+of such programs must contain information about the size of the
+program, the number of subroutines it calls on, the amount of stroage
+it will share with other subroutines, the location of the list of
+subroutines it calls on, and the names by which the routine itself is
+referred to.  The symbolic names of the subroutines called on must
+appear as the first words after this information.</para>
 
 <para>The execution of MAD programs requires the use of a loading
 routine to relocate and store the program and subroutines.  A slightly
@@ -5205,6 +5221,9 @@ without an explicit reference to them in the source program.</para>
 </sect1>
 <sect1><title>Systems Subroutines</title>
 
+<note><para>The Retrocomputing Museum implementation does
+not support these routines or reserve these names.</para></note>
+
 <para>The use of the following names for functions (subroutines)
 should be avoided except where the operation is the one indicated
 here.</para>
@@ -5912,6 +5931,9 @@ LBT
 
 <sect1><title>(a) READ DATA</title>
 
+<note><para>READ DATA is not supported by the Retrocomputing Museum
+implementation, mainly because we have no test programs for it.</para></note>
+
 <para>This statement causes information to be read from cards; no list of
 variable names or format specification is necessary.  The values to be
 read and the variable names are punched in the data cards in a
@@ -5976,6 +5998,9 @@ statements but handled as ordinary data.</para>
 </sect1>
 <sect1><title>(b) PRINT COMMENT &scriptS;</title>
 
+<note><para>PRINT COMMENT is not supported by the Retrocomputing Museum
+implementation, mainly because we have no test programs for it.</para></note>
+
 <para>Here &scriptS; designates a string of no more than 120 Hollerith
 characters.  These characters may not include dollar signs and here
 blanks are valid characters.  The string, delimited by dollar signs as
@@ -6008,6 +6033,9 @@ the carriage control code is reproduced here:</para>
 </sect1>
 <sect1><title>(c) PRINT RESULTS &scriptL;</title>
 
+<note><para>PRINT RESULTS is not supported by the Retrocomputing Museum
+implementation, mainly because we have no test programs for it.</para></note>
+
 <para>Here &scriptL; designates a list of variable names or block
 designations.  Expressions may not appear in the list although
 subscripts of variables in the list may be expressions.  The printed
@@ -6030,6 +6058,10 @@ simply preceded by ... .</para>
 <!-- beginpage SUPPLEMENT.1 -->
 <para role='centered'>November 15, 1960</para>
 
+<note><para>These extended features are not supported by the
+Retrocomputing Museum implementation, mainly because we have no test
+programs for them.</para></note>
+
 <para>The notes which appear below describe several new features which have
 been added to MAD.  Existing programs need not be changed in any way.
 Most programs will be reduced in size and execution time, however, if