Content deleted Content added
The 1401 was character based, not binary; add and update references |
|||
Line 12:
==Autocoder as implemented on the IBM 1401==
[[File:IBM 1401 AUTOCODER programm select and print.jpg|thumb|Autocoder coding sheet]]
The most well known Autocoder<ref>{{cite manual
The most well known Autocoder is that of the [[IBM 1401]], undoubtedly due in part to the general success of that series of machines. Autocoder was the primary language of this computer, and its macro capabilities supported use of the Input/Output Control System which eased the programming burden.<ref>[http://archive.computerhistory.org/resources/text/IBM/IBM.1440.1962.102646251.pdf]; Solomon 1993, p. 8; {{cite web|url=http://hopl.murdoch.edu.au/showlanguage2.prx?exp%3D3872 |title=Archived copy |accessdate=2007-03-18 |deadurl=yes |archiveurl=https://web.archive.org/web/20070917100201/http://hopl.murdoch.edu.au/showlanguage2.prx?exp=3872 |archivedate=2007-09-17 |df= }}.</ref> Another assembler, [[Symbolic Programming System]] (SPS), was the assembler offered when the [[IBM 1401]] originally was announced as a punched-card-only computer. SPS had mnemonics (often different) but a different input format. It lacked Autocoder's features and was generally used only on machines that lacked tape drives (punched-card only).<ref>[http://ed-thelen.org/comp-hist/ibm-1401.html], [http://www.multicians.org/thvv/1401s.html].</ref> A copy of the source programs for SPS-1, SPS-2 and Autocoder was donated to the Charles Babbage Institute, University of Minnesota, by [[Gary Mokotoff]], author of SPS and coauthor of Autocoder.<ref>{{Citation|title=Gary Mokotoff Collection of IBM 1401 Program Listings, 1959-1961|url=http://discover.lib.umn.edu/cgi/f/findaid/findaid-idx?c=umfa;cc=umfa;rgn=main;view=text;didno=cbi00093}}</ref>▼
| title = Autocoder (on Tape) Language Specifications and Operating Procedures IBM 1401 and 1460 Program 1401-AU-037
| series = IBM Systems Reference Library
| id = C24-3319-0
| edition = First
| date = November 1964
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/1401/C24-3319-0_Autocoder_on_Tape_Laguage_Specifications_and_Operating_Procedures_Nov64.pdf
| format = PDF
| mode = cs2
}}
</ref><ref>{{cite manual
| title = Autocoder (on Disk) Language Specifications IBM 1401, 1440, and 1460
| series = IBM Systems Reference Library
| id = C24-3258-2
| edition = Third
| date = April 1966
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/1401/C24-3258-2_Disk_Autocoder_Specifications_Apr66.pdf
| format = PDF
| mode = cs2
}}
▲
Like all 1401 programs, Autocoder was stored in
|title=System Operation Reference Manual - IBM 1401 Data Processing System - IBM 1460 Data Processing System
|series=IBM Systems Reference Library
|id=A24-3067-2
| edition = Third
| url= http://bitsavers.org/pdf/ibm/1401/A24-3067-2_1401_1460_System_Operation_Reference_Manual_Sep66.pdf
|publisher=IBM Corporation
|page=B-19 |date=September 1966
| format = PDF
| mode = cs2
}}</ref>
and transformed them into the instructions the machine recognized. It supported [[conditional branching]], named [[subroutines]], counting [[iterations]], and what IBM called its [[Advanced Programming Feature]], an optional feature involving three separate bytes between ___location 80 and 90. (Since memory locations 0-79 were reserved for the card reader, 100-179 for the card punch, which punched a card with the data in these locations when the "punch" command was issued, and 200-279 for the (single) printer, locations 80-99 were orphans and available for other purposes that only needed a few bytes.)
At that time the primary storage media was half-inch magnetic tape read and written on drives the size of refrigerators. There were no named files, a concept still in the future. Autocoder did implement a new feature: the byte mark, a single character which served to delimit a block of memory of any size, or a tape file.
The 1401 was available in six memory configurations, with 1400, 2000, 4000, 8000, 12000, or 16000 six-bit characters. The 8000-character model was the minimum needed to run Autocoder; a
==Notes==
|