
***********************************************************************


              Another fault corrected in sim900al.ada
              ---------------------------------------

While using Terry Froggatt's simulator of the Elliott 903 to run an
ordinary assembly-coded program instead of an Algol program, another
fault came to light which has been corrected in the attached program
called sim900AL.ada and its companion, sim900al.exe.

It affects multiplication of the accumulator by a number equal to -1.0
in the store; this was the trouble supposedly cured by the previous
correction, but through carelessness the latter had been wrongly
applied. The code using the constant, 242144, has been changed to use
262144, 2^18, and simplified too.

Oddly enough the bad version affects the calculation of ln(0.2) only
in the 6th decimal place, but the fault did cause a simulation of the
EDSAC to loop during an EDSAC division subroutine where the divisor 
had a leading "1" bit followed by 18 or more "0" bits. This occurred
during the execution of Hartee's 1946 ENIAC program adapted for the
EDSAC. 


DGNH [ed CPB]  12-SEP-1998

***********************************************************************

