Autocoder: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
Rescued 1 archive link. Wayback Medic 2.5 per WP:URLREQ#www-03.ibm.com
 
(23 intermediate revisions by 10 users not shown)
Line 1:
{{Short description|Computer assembler}}
{{about|the IBM Autocoder assemblers|the generic term used in the UK in the 1950s and 1960s for a family of "simplified coding systems"|Autocode}}
{{Distinguish|Autoencoder}}
'''Autocoder''' is the name of a group of [[assembly language|assembler]]s for a number of [[IBM]] [[computer]]s of the 1950s and 1960s.
{{aboutAbout|the IBM Autocoder assemblers|the generic term used in the UK in the 1950s and 1960s for a family of "simplified coding systems"|Autocode}}
{{Use dmy dates|date=March 2020|cs1-dates=y}}
'''Autocoder''' is the nameany of a group of [[assembly language|assembler]]s for a number of [[IBM]] [[computer]]s of the 1950s and 1960s.
The first Autocoders appear to have been the earliest assemblers to provide a [[Macro (computer science)|macro]] facility.<ref>Solomon 1993, p. 8.</ref>
 
==Terminology==
Both ''autocoder'', and the unrelated ''[[autocode]]'', a term of the same era used in the [[UK]] for languages of a higher level, derive from the phrase ''[[automatic programming|automatic coding]]''. This referred generally to programs which eased the burden of producing the numeric [[machine language]] codes of programs.<ref>Hopper 1955.</ref> ("Autocoding" is seen occasionally, and can refer to any kind of programming system.) In some circles "autocoder" could be used in a rather generic waygenerically to refer to what is now called a macro-assembler.<ref>For an example see Allen 1981, p. 540.</ref>
 
==History==
Line 15 ⟶ 18:
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/705/22-6726-1_autocoder_Feb57.pdf
| format = PDF
| mode = cs2
}}</ref>
Line 28 ⟶ 30:
| publisher = IBM Corporation
| url = http://bitsavers.org/pdf/ibm/1410/C28-0309-1_1410_autocoder.pdf
| format = PDF
| mode = cs2
}}</ref>
Line 39 ⟶ 40:
| publisher = IBM Corporation
| url = http://bitsavers.org/pdf/ibm/1410/C28-0326-2_1410_OS_Autocoder.pdf
| format = PDF
| mode = cs2
}}</ref>
Line 50:
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/7070/C28-6102-1_7070_Four_Tape_Autocoder_Apr61.pdf
| format mode = PDFcs2
| mode = cs2
}}</ref>
<ref>{{cite manual
Line 61 ⟶ 60:
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/7070/C28-6121-0_7070autocoder_61.pdf
| format mode = PDFcs2
| mode = cs2
}}</ref>
[[IBM 7080]],
Line 73 ⟶ 71:
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/7070/C28-6121-0_7070autocoder_61.pdf
| format mode = PDFcs2
| mode = cs2
}}</ref>
and the [[IBM 1400 series]].<ref>7010: Weik 1964, p. 0160; 7030:{{cite web
Line 96 ⟶ 93:
| url = http://ed-thelen.org/comp-hist/BRL61-ibm7070.html
| mode = cs2
}}; 7080: [http://www.research.ibm.com/journal/sj/052/ibmsj0502B.pdf]; 1400 series: [https://web.archive.org/web/20100820215557/http://www-03.ibm.com/ibm/history/exhibits/dpd50/dpd50_chronology2.html], {{cite book
| title = 1410 Autocoder
| url = http://bitsavers.org/pdf/ibm/1410/C28-0309-1_1410_autocoder.pdf
| mode = cs2
}}.
</ref>
</ref> Other manufacturers sometimes built competing products, such as [[NCR Corporation|NCR]]'s "National's Electronic Autocoder Technique" (NEAT).<ref>Weik 1964, p. 0202.</ref>
 
The Pennsylvania State University developed a "Dual Autocoder Fortran Translator" (DAFT) compiler for the IBM 7074 in the 1960s which made it extremely easy to write (within a single program) lines of autocoder instructions freely interspersed with lines of Fortran code. This allowed symbolic machine instruction level coding within a higher level Fortran program, which was especially useful for optimizing the speed of inner loops, or for making use of the IBM 7074's unusual decimal word architecture.{{cn|date=August 2019}}
 
==Autocoder as implemented on the IBM 1401==
[[Symbolic Programming System]]<ref>{{cite manual
| title = IBM 1401 SYMBOLIC PROGRAMMING SYSTEM: PRELIMINARY SPECIFICATIONS
| mode id = cs2J28-200-1
| format year = PDF1960
| publisher = IBM
| url = http://bitsavers.org/pdf/ibm/1401/J28-200-1_IBM_1401_Symbolic_Programming_System_Preliminary_Specifications_Jan60.pdf
| format mode = PDFcs2
}}
</ref> (SPS), was the assembler offered when IBM originally announced [[IBM 1401|1401]] as a punched-card-only computer. SPS had different mnemonics and a different fixed input format from Autocoder. It lacked Autocoder's features and was generally used later only on machines that lacked tape drives, that is, punched-card only.<ref>{{cite web |last1=Thelen |first1=Ed |title=IBM-1401 |url=http://ed-thelen.org/comp-hist/ibm-1401.html |accessdate=Mar 5, 2020}}</ref><ref name=THVV>{{cite web |last1=Van Vleck |first1=Tom |title=1401s I have known |url=https://www.multicians.org/thvv/1401s.html |website=multicians.org |accessdate=Mar 5, 2020}}</ref>
 
[[File:IBM 1401 AUTOCODER programm select and print.jpg|thumb|Autocoder coding sheet]]
The most well known1401 Autocoder<ref>{{cite manual
| title = Autocoder (on Tape) Language Specifications and Operating Procedures IBM 1401 and 1460 Program 1401-AU-037
| series = IBM Systems Reference Library
Line 115 ⟶ 120:
| 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
}}
Line 126 ⟶ 130:
| publisher= IBM Corporation
| url = http://bitsavers.org/pdf/ibm/1401/C24-3258-2_Disk_Autocoder_Specifications_Apr66.pdf
| format = PDF
| mode = cs2
}}
</ref> is the most well known Autocoder, 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 facilitated use of the [[Input/Output Control System]] which eased the programming burden.
</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 |url-status=dead |archiveurl=https://web.archive.org/web/20070917100201/http://hopl.murdoch.edu.au/showlanguage2.prx?exp=3872 |archivedate=2007-09-17 }}.</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 different mnemonics and a different fixed 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> Autocoder also had the ability to process code written for SPS. A copy of the source programs for SPS-1, SPS-2 and Autocoder was donated to the Charles Babbage Institute, University of Minnesota in 1985, by [[Gary Mokotoff]], author of SPS and coauthor of Autocoder.<ref>{{Citation|title=Gary Mokotoff Collection of IBM 1401 Program Listings, 1959-1961|url=https://archives.lib.umn.edu/repositories/3/resources/2313}}</ref>
<ref>{{cite book |last1=IBM Corporation |title=Executive Guide to the IBM 1440 Data Processing System |url=http://archive.computerhistory.org/resources/text/IBM/IBM.1440.1962.102646251.pdf |accessdate=Mar 8, 2020}}</ref><ref>Solomon 1993, p. 8</ref><ref>{{cite web|url=http://hopl.murdoch.edu.au/showlanguage2.prx?exp%3D3872 |title=The Encyclopedia of Computer Languages |accessdate=2007-03-18 |url-status=dead |archiveurl=https://web.archive.org/web/20070917100201/http://hopl.murdoch.edu.au/showlanguage2.prx?exp=3872 |archivedate=2007-09-17 }}.</ref> Autocoder also had the ability to process code written for SPS.
 
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 the full Autocoder assembler application, including IOCS. However a language subset assembler was available for use with as little as 1400 memory positions. A loadable [[object 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. The limited language subset only processed punched cards and required 4 passes with intermediate punched card outputs.
 
==Influence==
</ref>The popularity of Autocoder inspired other assemblers. ‘’Easycoder’’ for the [[Honeywell 200]], a computer similar to the 1401, resembled Autocoder. Other manufacturers sometimes built competing products, such as [[NCR Corporation|NCR]]'s "National's Electronic Autocoder Technique" (NEAT).<ref>Weik 1964, p. 0202.</ref>
 
The Pennsylvania State University developed a "Dual Autocoder Fortran Translator" (DAFT) compiler for the IBM 7074 in the 1960s which made it extremely easy to write (within a single program) lines of autocoder instructions freely interspersed with lines of Fortran code. This allowed symbolic machine instruction level coding within a higher level Fortran program, which was especially useful for optimizing the speed of inner loops, or for making use of the IBM 7074's unusual decimal word architecture.{{cncitation needed|date=August 2019}}
 
[[Bell Laboratories]] developed a program called "Peripheral Equipment Symbolic Translator" (PEST), which was a 1401 cross-assembler that ran on the [[IBM 709|709]]/[[IBM 700/7000 series#Later scientific architecture (704/709/7090/7094)|709x]] and accepted a subset of 1401 Autocoder.<ref name=THVV /><ref>{{cite book |last1=IBM Corporation |title=Catalog of Programs for IBM Data Processing Systems KWIC Index |date=1962 |page=248 |url=http://bitsavers.org/pdf/ibm/pgmCatalog/C20-8090_Catalog_of_Programs_for_IBM_Data_Processing_Systems_KWIC_Index_Apr62.pdf |accessdate=Mar 5, 2020}}</ref>
 
A copy of the source programs for SPS-1, SPS-2 and Autocoder was donated to the [[Charles Babbage Institute]], [[University of Minnesota]] in 1985, by [[Gary Mokotoff]], author of SPS and coauthor of Autocoder.<ref>{{Citation|title=Gary Mokotoff Collection of IBM 1401 Program Listings, 1959-1961|url=https://archives.lib.umn.edu/repositories/3/resources/231}}</ref>
 
==Notes==
{{Reflist}}
<references />
 
==References==
* Allen, F. E., "The history of language processor technology at IBM", ''IBM Journal of Research and Development,'' '''25'''(5), pp. 535-548&nbsp;535–548 (September 1981). [http://www.research.ibm.com/journal/rd/255/ibmrd2505Q.pdf]
* Goldfinger, Roy, "The IBM Type 705 Autocoder". ''Proceedings East Joint Computer Conf.,'' San Francisco, 1956.
* Hopper, Grace, "Automatic Coding for Digital Computers" in the High Speed Computer Conference, Louisiana StatState (1955) the High Speed Computer Conference, Louisiana State University, 16 Feb. 1955, Remington Rand, Inc., 1955. [http://www.bitsavers.org/pdf/univac/HopperAutoCodingPaper_1955.pdf]
* {{cite book |author-first=David |author-last=Salomon |editor-first=Ian D. |editor-last=Chivers |title=Assemblers and Loaders |date=February 1993 |edition=1 |series=Ellis Horwood Series In Computers And Their Applications |publisher=[[Ellis Horwood Limited]] / [[Simon & Schuster International Group]] |___location=Chicester, West Sussex, UK |isbn=0-13-052564-2 |url=http://www.davidsalomon.name/assem.advertis/asl.pdf |access-date=2008-10-01 |url-status=live |archive-url=https://web.archive.org/web/20200323010358/http://www.davidsalomon.name/assem.advertis/asl.pdf |archive-date=2020-03-23}} [http://www.davidsalomon.name/assem.advertis/AssemAd.html][https://www.scribd.com/doc/7326575/Assembly-Language] (xiv+294+4 pages)
* Salomon, David, ''Assemblers And Loaders'' (Horwood, 1993), {{ISBN|0-13-052564-2}}. [http://www.davidsalomon.name/assem.advertis/AssemAd.html]
* Weik, Martin H., ''A Fourth Survey of Domestic Electronic Digital Computing Systems,''BRL Report No. 1227, January 1964 (Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland). [http://ed-thelen.org/comp-hist/BRL64-i.html]
 
Line 147 ⟶ 160:
* [http://www.textfiles.com/bitsavers/pdf/ibm/1410/C28-0309-1_1410_autocoder.pdf 1964 IBM 1410 Autocoder manual from Bitsavers]
* [http://99-bottles-of-beer.net/language-assembler-(1401-autocoder)-1071.html IBM 1401 Autocoder example]
 
{{Authority control}}
 
[[Category:Assembly languages]]
[[Category:IBM software]]
[[Category:IBM 700/7000 series|Assembler Autocoder]]
[[Category:IBM 1400 series]]