ENIAC                             U. S. Army

A Logical Coding System Applied to the ENIAC
(Electronic Numerical Integrator and Computer)

R. F. Clippinger
Ballistic Research Laboratories
Report No. 673
Project No. TB3-0007 of the Research and
Development Division, Ordnance Department
29 September 1948
Aberdeen Proving Ground, Maryland


In the Spring of 1947, J. von Neumann suggested to the author that it would be possible to run the ENIAC in a way very different from the way contemplated when it was designed; a way which had very important advantages to be discussed below. Since that time his suggestion has been worked into a finished regime by J. von Neumann, A. Goldstine, B. Bartik, R. Clippinger, and A. Gehring with contributions by A. Galbraith, J. Giese, K. McNulty, J. Holberton, E. Snyder, E. Schlain, K. Jacobi, F. Bilas, and S. Spear. The role of J. von Neumann in working out the details has been a central one.

Section 1, 2, and 3 make clear the methods by which the sixty orders are effected. However, the reader who wants a more rapid description of the procedure of programming a problem for the ENIAC may skip these sections and read only Sections 4, 5, 6, and 7.

A. It is hoped by the author that this report will make the task of coding problems so clear and straightforward that physicists, aerodynamicists, applied mathematicians, etc. with no prior experience with computing machines can code their own problems and prepare tests. This is of critical importance since the shortage of personnel at Aberdeen will prevent the Ballistic Research Laboratories from being able to code extra-Ballistic Research Laboratory problems in the foreseeable future.

B. Not only will problem coding for the ENIAC be easier but, using the new code in the systematic methods of J. von Neumann and H. Goldstine (H. H. Goldstine and J. von Neumann, "Planning and Coding of Problems for an Electronic Computing Instrument," Institute for Advanced Study, Princeton, NJ, 1947), it will also be much faster.

C. Problems about four times as long may be coded in the new scheme. A rough measure of this factor is the ratio of the number, 1800, of order positions (see Section 3) in the function tables to the number, 450, of program controls (see Section 1). This gain is achieved at the expense of function table space.

D. Since problems are put on the machine in the new system by setting switches on the function table, problems can probably be changed in an hour instead of a day by the old method where many cables had to be plugged in and out. Furthermore, the switch settings made in the function tables can be systematically and rapidly checked. (See Section 5.)

E. Besides easing the switch settings check, the new method will ease the ENIAC functional testing. On one function table, programs may be set up at will to test any suspected unit. This facility may very well result in causing the ENIAC to deliver results at a greater rate despite the reduction in computing speed by a factor of six. At the time of writing, the ENIAC is being tested about half of the time.

Table of Contents

This document has been rendered machine readable thanks to the typing efforts of Monique Nguyen, LB&B. <Monique@ARL.MIL>