Content deleted Content added
Citation bot (talk | contribs) Add: date. | Use this bot. Report bugs. | Suggested by RoanokeVirginia | Category:CS1 errors: archive-url | #UCB_Category 41/127 |
KarenJoyce (talk | contribs) citation errors |
||
Line 189:
<ref name="Kildall_1973_Optimization">{{Cite journal |author-first=Gary Arlen |author-last=Kildall |author-link=Gary Kildall |date=1973-10-01 |title=A Unified Approach to Global Program Optimization |journal=Proceedings of the 1st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL) |series=POPL '73 |___location=Boston, Massachusetts, USA |pages=194–206 |doi=10.1145/512927.512945 |hdl=10945/42162 |s2cid=10219496 |url=http://static.aminer.org/pdf/PDF/000/546/451/a_unified_approach_to_global_program_optimization.pdf |access-date=2006-11-20 |url-status=live |archive-url=https://web.archive.org/web/20170629213307/http://static.aminer.org/pdf/PDF/000/546/451/a_unified_approach_to_global_program_optimization.pdf |archive-date=2017-06-29}}</ref>
<ref name="XLT86_1981">{{cite book |date=September 1981 |title=XLT86 – 8080 to 8086 Assembly Language Translator – User's Guide |edition=First printing |publisher=[[Digital Research, Inc.]] |___location=Pacific Grove, California, USA |url=http://www.s100computers.com/Software%20Folder/Assembler%20Collection/Digital%20Research%20XLT86%20Manual.pdf |access-date=2016-11-18 |url-status=live |archive-url=https://web.archive.org/web/20161118230700/http://www.s100computers.com/Software%20Folder/Assembler%20Collection/Digital%20Research%20XLT86%20Manual.pdf |archive-date=2016-11-18|id=[https://archive.org/stream/bitsavers_digitalResuideSep81_2620625/XLT86_Users_Guide_Sep81_djvu.txt archive.org copy]}}</ref>
<ref name="Digital_Research_1981_News">{{cite
<ref name="Digital_Research_XLT86">{{cite web |title=XLT86 for CP/M-80 |publisher=[[Digital Research]] |url=http://www.cpm.z80.de/download/xlt86.zip |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200116055650/http://www.cpm.z80.de/download/xlt86.zip |archive-date=2020-01-16}} (NB. This ZIP archive contains the [[CP/M-80]] executable XLT86.COM [22 KB] as well as two overlay files XLT00.OVL [8 KB] and XLT01.OVL [9 KB].)<!-- This has officially been released as free software by Caldera/Lineo. --></ref>
<ref name="SCP_1980_86-DOS">{{cite book |date=1980 |title=86-DOS – Disk Operating System for the 8086. User's manual |version=Version 0.3 |edition=Preliminary |publisher=[[Seattle Computer Products]] |___location=Seattle, Washington, USA |url=http://www.patersontech.com/dos/Docs/86_Dos_usr_03.pdf |access-date=2020-02-01 |url-status=live |archive-url=https://web.archive.org/web/20190714004434/http://www.patersontech.com/dos/docs/86_Dos_usr_03.pdf |archive-date=2019-07-14}}</ref>
Line 201:
<ref name="Barry_1982_XLT86">{{cite news |title=XLT-86, a CP/M utility program by Digital Research |author-first=Tim |author-last=Barry |series=Software Review |newspaper=[[InfoWorld]] – The Newsweekly for Microcomputer Users |issn=0199-6649 |publisher=[[Popular Computing, Inc.]] |date=1982-04-05 |volume=4 |issue=13 |pages=40–41, 53 |url=https://books.google.com/books?id=ZjAEAAAAMBAJ&pg=PA40 |access-date=2020-01-25 |url-status=live |archive-url=https://web.archive.org/web/20200201160327/https://books.google.com/books?id=ZjAEAAAAMBAJ&pg=PA40&lpg=PA41 |archive-date=2020-02-01 |quote=[…] XLT-86 1.1 […] XLT-86 is an analytical translator program written in [[PL/I-80]]. It reads the entire 8080 source program, assembles it to machine code, analyzes the register, memory and flag utilization, and emits an optimized [[8086]] assembly-language program. […] There is also a version of XLT-86 for those of you who have access to a [[VAX 11/750]] or [[VAX 11/780|11/780]]. This version can translate much larger programs. It also costs $8000. […] While the translator adds some labels and equates to the source program as part of the translation, all original comments and program labels are passed through intact to the translated program. […] The program translation proceeds in a five-step process. First, the program is scanned and assembled to produce symbol values and locations. Second, the program structure is analyzed and decomposed into [[basic block]]s. Third, the basic blocks are analyzed to determine [[program flow]] and resource usage. Forth, the [[block (programming)|block structure]] and [[register allocation]] data is gathered into a listing for the user. Fifth, the flow information and source program are used to produce the [[8086]] source program. […]}}</ref>
<ref name="Taylor_1982_Translators">{{cite magazine |title=Upward migration – Part 1: Translators – Using translation programs to move CP/M-86 programs to CP/M and MS-DOS<!-- this is the actual title, however it is faulty--> |trans-title=<!-- this is the title as it should have been -->Using translation programs to move CP/M programs to CP/M-86 and MS-DOS |author-first1=Roger |author-last1=Taylor |author-first2=Phil |author-last2=Lemmons |date=June 1982 |magazine=[[BYTE]] |issn=0360-5280 |id={{CODEN|BYTEDJ}} |volume=7 |number=6 |publisher=[[BYTE Publications Inc.]] |pages=321–322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, 344 |url=https://tech-insider.org/personal-computers/research/acrobat/8206-b.pdf |access-date=2020-01-15 |url-status=live |archive-url=https://web.archive.org/web/20200116024623/https://tech-insider.org/personal-computers/research/acrobat/8206-b.pdf |archive-date=2020-01-16 |quote=[…] [[Digital Research]]'s XLT86 takes standard [[8080]] source code in a format compatible with ASM, MAC, or RMAC assemblers and converts the 8080 source code to [[8086]] source code in a format compatible with ASM86 operating under either [[CP/M-80]] or [[CP/M-86]]. Since XLT86 is written in [[PL/I-80]], the translator can run either stand-alone under CP/M-80 or for [[cross development]] under VAX/VMS. It produces optimized 8086 code in a five-phase, [[multipass compiler|multipass]] process, doing [[global data-flow analysis]] to determine optimal register usage. Although macro definitions are not supported, conditional-assembly directives are […] if you want macro expansion, you can use a pass through MAC or RMAC to produce a PRN file that can be edited […] to produce an expanded source file for input acceptable to XLT86. XLT86 does not recognize [[Z80]] instructions. XLT86 passes repeat loops through to the 8086 source code. XLT86 analyzes the source program in its entirety, determining the [[block (programming)|block structure]] and the register/flag usage. Working from this information, it translates the code to 8086 assembler code in an optimized way. The decision algorithm for each instruction type is given in […] the manual […] Register mapping generally follows […] with a loose relationship between the 8086 [[AX register|AX]] and the 8080 [[Program status word|PSW]]; the exact relationship is determined from register usage at [[translate time]]. Many [[Runtime (program lifecycle phase)|runtime]] options are available to control the translation process, both on the command line and embedded in the 8080 source text. […] XLT86 is a sophisticated program that does a reasonable job of optimizing the translation of 8080 source code to 8086 source code. [[BDOS]] calls from CP/M-80 are mapped into BDOS calls that are compatible with CP/M-86. XLT86 has special features for handling translation of conditional JMP and CALL instructions in 8080 source code. In the 8080 instructions, JMP and CALL instructions are capable of reaching any address within the 64K-byte region. The 8086 conditional JMP instructions can reach only 128 bytes on either side of the [[Instruction pointer|IP]] […] register. XLT86 examines the target of the conditional JMP. If the target cannot be reached, XLT86 changes the sense of the conditional JMP and skips over a long JMP to the target address. Since there are no conditional CALL or RET instructions in the 8086, the sense of the condition is changed and a short conditional JMP is performed to skip over an unconditional CALL or RET. […] the segment registers allow for separation of code and data regions. […] XLT86 examines an expression and determines the proper segment for the particular instruction. […]}} [https://archive.org/details/byte-magazine-1982-06] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0323.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0324.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0326.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0328.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0330.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0332.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0334.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0336.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0338.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0340.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0342.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0344.pdf] [https://www.americanradiohistory.com/hd2/IDX-Consumer/Archive-Byte-IDX/IDX/80s/82-83/Byte-1982-06-OCR-Page-0346.pdf] (13 pages)</ref>
<ref name="Warren_1982_Sorcim">{{cite
<ref name="CompuPro_1982">{{cite magazine |title=CompuPro |type=Advertisement |magazine=[[PC: The Independent Guide To IBM Computers]] |issn=<!-- not assigned at this time, but already applied for --> |volume=1 |number=1 |id=Premiere/Charter issue |publisher=[[Software Communications, Inc.]] |date=February–March 1982 |pages=70–71 |url=https://archive.org/details/bub_gb_w_OhaFDePS4C |access-date=2020-01-23 |quote=[…] WHY? FLEXIBILITY. [[CompuPro]]'s 85/88 CPU runs CP/M 80, 86, MP/M II and MP/M 86. We offer WORDSTAR dBASE II SUPERCALC a host of languages, 8080 to 8088 translators and more! COMPATIBILITY. Our systems can use CP/M 2.2 utilities to write programs for the IBM PC. You simply create 8088 source (either write it with your favorite CP/M 80 editor or translate it with [[Sorcim]]'s TRANS 86), cross-assemble your source (with Sorcim's ACT86), link your hex file (with CP/M 80's LOAD command), translate it to the IBM PC (with G&G's CPM-IBM program), and run it on your IBM PC! This procedure DOES NOT require MS-DOS! […] WHY? FLEXIBILITY. [[CompuPro]]'s 85/88 CPU runs CP/M 80 & 86 or MS-DOS. We offer WORDSTAR, dBASE II, TRANS86, XLT86, ACT86, SUPERCALC, CBASIC, MBASIC, MFORTRAN and more! […]}} [https://archive.org/stream/bub_gb_w_OhaFDePS4C/bub_gb_w_OhaFDePS4C_djvu.txt] [https://archive.org/download/bub_gb_w_OhaFDePS4C/bub_gb_w_OhaFDePS4C.pdf]</ref>
<ref name="Swaine_1982_CPM">{{cite news |title=Digital Research founder discusses his view of the business |series=Special section: CP/M |editor1-first=Michael |editor1-last=Swaine |editor-link1=Michael Swaine (technical author) |editor2-first=Paul |editor2-last=Freiberger |editor-link2=Paul Freiberger |editor3-first=John Gregory |editor3-last=Markoff |editor-link3=John Gregory Markoff |author-first=Gary Arlen |author-last=Kildall |author-link=Gary Arlen Kildall |date=1982-04-19 |newspaper=[[InfoWorld]] – The Newsweekly for Microcomputer Users |issn=0199-6649 |publisher=[[Popular Computing, Inc.]] |volume=4 |issue=15 |pages=23–24 |url=https://books.google.com/books?id=YzAEAAAAMBAJ&pg=PA23 |access-date=2020-01-17 |url-status=live |archive-url=https://web.archive.org/web/20200201160838/https://books.google.com/books?id=YzAEAAAAMBAJ&pg=PA23&lpg=PA23 |archive-date=2020-02-01 |quote=[…] Kildall: […] A year and a half ago I was probably spending 75% of my time on the business and 25% on programming. XLT-86 was a product I was working on at that time, and it took me nine months to do it. That would have been a three-month project if I had been able to concentrate on it. […]}}</ref>
Line 222:
<ref name="Garetz_1980_Sorcim">{{cite news |title=According to Garetz… |author-first=Mark |author-last=Garetz |newspaper=[[InfoWorld]] – News For Microcomputer Users |issn=0199-6649 |publisher=[[Popular Computing, Inc.]] |date=1980-12-22 |volume=2 |issue=23 |page=12 |url=https://books.google.com/books?id=nD4EAAAAMBAJ&pg=PT11 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201163107/https://books.google.com/books?id=nD4EAAAAMBAJ&pg=PT11&lpg=PT11 |archive-date=2020-02-01 |quote=[…] Last week was the semi-annual [[California Computer Swap Meet]]. This event is organized by John Craig […] [[Sorcim]] […] was debuting […] new products at the show […] Their other product was TRANS-86. TRANS-86 will take any [[CP/M]] compatible [[8080]]/[[8085]]/[[Z80|Z-80]] source code file and translate it into [[8086]] code. You can then assemble the new file with ACT-86. […]}}</ref>
<ref name="BYTE_1980_86-DOS">{{cite magazine |title=86-DOS – 8086 OPERATING SYSTEM - $95 |author=Seattle Computer Products |author-link=Seattle Computer Products |magazine=[[BYTE]] |issn=0360-5280 |id={{CODEN|BYTEDJ}} |date=August 1980 |volume=5 |number=8 |publisher=[[BYTE Publications Inc.]] |type=Advertisement |page=173 |url=https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language#page/n173/mode/2up |access-date=2013-08-18 |url-status=live |archive-url=https://web.archive.org/web/20170405025551/https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language |archive-date=2017-04-05 |quote=[…] 1. Read [[Z80]] source code file written in [[CP/M]] format and convert to [[86-DOS]] format. 2. Translator program translates Z80 source code to [[8086]] source code. 3. Resident assembler assembles the translated 8086 source code to 8086 [[object code]]. 4. Minor hand correction and optimization. (A recent 19K Z80 program translation took us about four hours to fix up. Even without optimization, it ran twice as fast as the original! […])}} [https://tech-insider.org/personal-computers/research/acrobat/8008-a.pdf<!-- https://web.archive.org/web/20200201163325/https://tech-insider.org/personal-computers/research/acrobat/8008-a.pdf -->]</ref>
<ref name="ARC_1988_Transpiler">{{anchor|ARC-1988}}{{cite magazine |title=Aus BASIC mach C: B→C Transpiler |trans-title=Turn BASIC into C: B→C Transpiler |author=ARC-Softwaresystems |___location=Esslingen, Germany |type=Advertisement |language=de |
<ref name="Pountain_1989">{{anchor|Pountain-1989}}{{cite magazine |title=Configuring parallel programs, Part 1: The Occam Transpiler, now under development, will make writing software for parallel processing easier |author-first=Dick |author-last=Pountain |magazine=[[BYTE (magazine)|BYTE]] |publisher=[[McGraw-Hill, Inc.]] |issn=0360-5280 |volume=14 |number=13 |series= |date=December 1989 |id=<!-- |ia=byte-magazine-1989-12 --> ark:/13960/t34188734 |pages=349–352 |url=https://archive.org/details/byte-magazine-1989-12/page/n382/mode/1up |access-date=2022-01-06 |quote-page=350 |quote=[…] The name ''Transpiler'' is meant to suggest a combination of [[transputer]] and [[compiler]], in just the same way that ''transputer'' was coined from ''[[transistor]]'' and ''[[computer]]'' (i.e., a computer that is also a component). […]}} (NB. Uses the term ''Occam transpiler'' as a synonym for a source-to-source compiler working as a [[pre-processor]] that takes a normal [[occam (programming language)|Occam]] program as input and derives a new Occam source code as output with link-to-channel assignments etc. added to it thereby ''[[computer configuration|configuring]]'' it for [[parallel processing (computing)|parallel processing]] to run as efficient as possible on a network of [[transputer]]s.)</ref>
<ref name="Sector7_1993_Transpiler">{{cite news |title=Transpiler |author=Sector 7 Software Limited |___location=Bedford, Bedfordshire, UK |newspaper=[[Official Gazette of the United States Patent and Trademark Office]] |volume=1157 |edition=1 |date=1993-12-07 |orig-date=1992-09-22 |publisher=[[U.S. Patent and Trademark Office]] |page=TM 81 |series=Class 9 |id=SN 74-316.610 |url=https://books.google.com/books?id=Aokm04NulboC&pg=RA1-PA81 |access-date=2020-01-18 |url-status=live |archive-url=https://web.archive.org/web/20200201130513/https://books.google.de/books?id=Aokm04NulboC&pg=RA1-PA81&lpg=RA1-PA81&redir_esc=y |archive-date=2020-02-01 |quote=[…] Priority claimed under Sec. 44(D) on United Kingdom Application No. 1495953, filed 1992-03-31 Reg. No. A1495953, dated 1992-03-31, expires 1999-03-31. For computer software and programs (U.S. Cl. 38). First use 1991-08-01, in commerce 1991-08-01.}} (NB. This company develops products such as VX/BASIC, a BASIC-to-C transpiler for [[DEC VMS]]. Despite their claim, theirs is not the first public use of the term transpiler, see i.e. [[#ARC-1988|ARC's BASIC-to-C transpiler]] for the [[Commodore Amiga]] in 1988 and the [[#Pountain-1989|Occam Transpiler]] by Concurrent Technology Systems (CTS)<!-- by Meier and Wespi --> in 1989.)</ref>
Line 244:
|archive-url=https://web.archive.org/web/20120531090452/http://www.ece.umd.edu/courses/enee759m.S2000/papers/paterson1994-kildall.pdf |archive-date=2012-05-31 |quote=[…] To get major software developers to port their products from the [[8080]]/[[Z80]] to the [[8086]], I decided we had to make it as easy as possible. I had already written a Z80-to-8086 source code translator (hosted on the 8080 and [[CP/M]]). My plan was that running an 8080 CP/M program through the translator would be the only work required by software developers to port the program to the 8086. In other words, the interface used by applications to request operating system services would be exactly the same as CP/M's after applying the [[#Intel-1979-CONV86|translation rules]]. […]}}</ref>
<ref name="Paterson_2007_Design-DOS">{{cite web |title=Design of DOS |author-first=Tim |author-last=Paterson |author-link=Tim Paterson |work=DosMan Drivel |date=2007-09-30 |url=http://dosmandrivel.blogspot.com/2007/09/design-of-dos.html |access-date=2011-07-04 |archive-url=https://web.archive.org/web/20130120075653/http://dosmandrivel.blogspot.com/2007/09/design-of-dos.html |archive-date=2013-01-20 |quote=[…] [[CP/M]] Translation Compatibility […] For [[DOS]] to succeed, it would need useful applications (like word processing) to be written for it. I was concerned that [[Seattle Computer Products|SCP]] might have trouble persuading authors of application software to put in the effort to create a DOS version of their programs. Few people had bought SCP's 16-bit computer, so the installed base was small. Without the applications, there wouldn't be many users, and without the users, there wouldn't be many applications. […] My hope was that by making it as easy as possible to port existing 8-bit applications to our 16-bit computer, we would get more rogrammers to take the plunge. And it seemed to me that CP/M translation compatibility was what would make the job as easy as possible. [[Intel]] had [[#Intel-1979-CONV86|defined rules for translating]] 8-bit programs into 16-bit programs; CP/M translation compatibility means that when a program's request to CP/M went through the translation, it would become an equivalent request to DOS. […] So I made CP/M translation compatibility a fundamental design goal. This required me to create a very specific Application Program Interface that implemented the translation compatibility. I did not consider this the primary API – there was, in fact, another API more suited to the 16-bit world and that had more capabilities. Both APIs used CP/M-defined constructs (such as the "[[File Control Block]]"); the compatibility API had to, and I didn't see a reason to define something different for the primary API. […] I myself took advantage of translation compatibility. The development tools I had written, such as the assembler, were originally 8-bit programs that ran under CP/M ([[Cromemco DOS|CDOS]]). I put them through the translator and came up with 16-bit programs that ran under DOS. These translated tools were included with DOS when shipped by SCP. But I don't think anyone else ever took advantage of this process. […]}}</ref>
<ref name="Callahan_2021">{{cite web |title=Intel 8080 CP/M 2.2 to Intel 8086/8088 MS-DOS assembly language translator. |author-first=Brian |author-last=Callahan |date=2021-10-23 |orig-date=2021-07-06, 2021-06-06 |version=8088ify 1.2 |url=https://cpp.codetea.com/the-famous-intel-8080-cp-m-2-2-to-intel-8086-8088-ms-dos-assembly-language-translator/ |access-date=2021-11-28 |url-status=live |archive-url=https://web.archive.org/web/20220331080628/https://cpp.codetea.com/the-famous-intel-8080-cp-m-2-2-to-intel-8086-8088-ms-dos-assembly-language-translator/ |archive-date=
<ref name="Bodrato_2008">{{cite web |title=to86.awk source code |author-first=Stefano |author-last=Bodrato |date=2008-10-30 |version=1.6 |work=GitHub |url=https://github.com/z88dk/z88dk/blob/master/support/I86/to86.awk |access-date=2022-01-05 |url-status=live |archive-url=https://web.archive.org/web/20220105214202/https://github.com/z88dk/z88dk/blob/master/support/I86/to86.awk |archive-date=2022-01-05}}</ref>
<ref name="Coffeescript">{{cite web |title=List of languages that compile to JS |website=[[GitHub]] |url=https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS |access-date=2018-03-11 |url-status=live |archive-url=https://web.archive.org/web/20200123055351/https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS |archive-date=2020-01-23}}</ref>
|