Autocoder: Difference between revisions

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
}}
The most well known Autocoder</ref> 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>
 
Like all 1401 programs, Autocoder was stored in binarycharacter form on punched cards, magnetic disks or magnetic tape. When the cards were inserted into the card reader, pressing the Run button on the computer (a floor-standing unit; the card reader/punch was a peripheral, and there was neither keyboard or monitor) the contents of the first 80-character card were read into memory locations 0-79, and the instruction at address 0 was executed, thus beginning the [[bootstrap loader]]. Autocoder took human-intelligible symbols (such as "H" to indicate "halt")<ref>{{cite book|title=System Operation Reference Manual - IBM 1401 Data Processing System - IBM 1460 Data Processing System |series=IBM Systems Reference Library|id=A24-3067-1 |publisher=IBM Corporation |page=B-16 |date=1964}}</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.)
|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 binarycharacter file (on punched cards or magnetic tape) could be produced on an 8000-character model which could then be run on a 4000-character machine.
 
==Notes==