1401 Programming Note
Emanuel Melichar (www. emelichar. com)

Programming the IBM 1401 computer

1401 Programming note:   The link above produces a page which in turn lists and provides links to 27 documents that have been uploaded in PDF format.

The goal of these programming documents and Newsletter was to provide state-of-the-art assistance and guidance (e.g., the "Indexing Techniques" and "Trace Method" papers) to mostly neophyte programmers working with new 1401s (some with only 4k memory) at the scattered Federal Reserve Banks.

The crown jewels of this collection are the Minitrace programs, which are an invaluable debugging tool as well as a useful teaching tool that shows new programmers how various instructions and programs work.

Using less than 1k of memory (hence, "Mini") and thus leaving room for most programs being debugged or demonstrated, the Minitrace2 program captures the results (e.g., contents of operands and index registers, address to which branched) of the execution in turn of each instruction of the assembled program being debugged. One line showing this information is printed for each instruction executed.

Thus the printed Trace output reveals virtually all common bugs--why calculations or comparisons did not go as planned, how and why perpetual loops occurred, why did a branch occur at the wrong time or to the wrong place. A minute or two of printer time may save hours of a programmer's frustrating detective efforts.

The Trace programs themselves, and Minitrace2 in particular, were thoroughly tested by several years of use by me and others in the Federal Reserve System. In practice, I believe I never encountered the limitations--such as maximum length of a chain--that I noted in the documentation, and so they are not a real concern. I have not found a source or object deck, but have still to look into about 80 of a total 220 boxes. If necessary, I will punch up and compile a deck from the listing in the Trace Method paper or in the Minitrace documentation, for use by the Working IBM 1401 Project at the Computer History Museum.

I suggest that the Trace Method article be read before examining the documentation of the trace programs.