Autocoder
| Company type | Software |
|---|---|
| Industry | Computer software |
| Founded | 1955 |
| Founder | Roy Goldfinger |
| Products | Assemblers with macro capability for IBM computers |
| Parent | IBM |
Autocoder denotes a collection of assembler programs created for several IBM computer models during the 1950s and 1960s. These assemblers were among the earliest to incorporate a macro capability.
Terminology
The terms autocoder and the unrelated autocode—a higher-level programming language term used in the UK around the same period—both originate from automatic coding. This term broadly referred to software that eased the production of numeric machine language instructions. Occasionally, "autocoder" was used as a generic label for macro-enabled assemblers.
History
The first Autocoders appeared in 1955 for the IBM 702, followed by the nearly compatible IBM 705 in 1956. These were designed by Roy Goldfinger, who had previously contributed to New York University's NYAP assembler. The Autocoders targeted commercial machines with variable word lengths.
Subsequent Autocoder versions were developed for various IBM systems, including the IBM 1410, IBM 7010, IBM 7030 Stretch, IBM 7070/7072/7074, IBM 7080, and the IBM 1400 series. These assemblers supported IBM’s growing range of commercial computers throughout the late 1950s and early 1960s, enhancing programming efficiency and system functionality.
Autocoder as implemented on the IBM 1401
The initial assembler offered for the IBM 1401, a punched-card-only machine, was the Symbolic Programming System (SPS). SPS utilized different mnemonics and a fixed input format distinct from Autocoder, lacked its advanced features, and was primarily employed on systems without tape drives.
The IBM 1401 Autocoder is the most well-known variant, largely due to the commercial success of the IBM 1401 series. It functioned as the principal programming tool, featuring macro support integrated with the Input/Output Control System (IOCS), which simplified coding processes. Additionally, Autocoder was capable of assembling SPS source code.
The IBM 1401 was available in six memory sizes: 1400, 2000, 4000, 8000, 12000, or 16000 six-bit characters. Running the full Autocoder assembler with IOCS required at least an 8000-character memory model. For machines with as few as 1400 memory locations, a reduced assembler subset was offered. On an 8000-character configuration, loadable object files could be generated on punched cards or magnetic tape and executed on a machine with only 4000 characters of memory. The limited subset supported only punched card input and required four passes with intermediate card outputs.
Influence
The success of Autocoder led to similar assemblers such as Easycoder for Honeywell's 200 series, a system comparable to IBM’s 1401. Rival products also appeared, including NCR's "National's Electronic Autocoder Technique" (NEAT).
During the 1960s, Pennsylvania State University created the "Dual Autocoder Fortran Translator" (DAFT) compiler for the IBM 7074. This tool allowed seamless embedding of Autocoder instructions within Fortran programs, optimizing critical loops and taking advantage of the IBM 7074's distinctive decimal word architecture.
Bell Laboratories developed "Peripheral Equipment Symbolic Translator" (PEST), a cross-assembler for the IBM 709 series that supported a subset of IBM 1401 Autocoder code.
In 1985, source code for SPS-1, SPS-2, and Autocoder was donated to the Charles Babbage Institute at the University of Minnesota by Gary Mokotoff, coauthor of Autocoder and author of SPS.
References
- Allen, F. E., "A Historical Overview of Language Processor Technology at IBM," IBM Journal of Research and Development, 25(5), pages 535–548 (September 1981). [1]
- Goldfinger, Roy, "The IBM Type 705 Autocoder," presented at the Proceedings East Joint Computer Conference, San Francisco, 1956.
- Hopper, Grace, "Automatic Coding for Digital Computers," delivered at the High Speed Computer Conference, Louisiana State University, February 16, 1955. [2]
- Weik, Martin H., A Fourth Survey of Domestic Electronic Digital Computing Systems, BRL Report No. 1227, January 1964 (Ballistic Research Laboratories). [3]