Relocation (computing): Difference between revisions

Content deleted Content added
Further reading: improved ref
Tag: nowiki added
Line 80:
* {{cite web |author-first=John C. |author-last=Elliott |title=Microsoft REL format |date=2012-06-05 |orig-year=2000-01-02 |website=seasip.info |url=https://www.seasip.info/Cpm/rel.html |access-date=2020-01-26 |url-status=live |archive-url=https://web.archive.org/web/20200126181737/https://www.seasip.info/Cpm/rel.html |archive-date=2020-01-26 |quote=[…] The REL format is generated by [[Microsoft]]'s M80 and [[Digital Research]]'s RMAC. […]}}
* {{cite web |title=Support for PRL, page relocatable executable for MP/M |date=2018-09-05 |orig-year=2018-09-02 |author=feilipu |work=z88dk |url=https://github.com/z88dk/z88dk/issues/935 |access-date=2020-01-26 |url-status=live |archive-url=https://web.archive.org/web/20200201053652/https://github.com/z88dk/z88dk/issues/935 |archive-date=2020-02-01 |quote=[…] Out of the assembled [[Microsoft]] .REL files the linker has to generate a .PRL format executable for [[MP/M]]. The .PRL format is essentially a [[.COM file]] with some additional information to enable the program and its data to be relocated onto any page. What does a .PRL file look like? The first bytes are size of the program, followed by the program origin at 0x0100. Following the program, there is a bit-for-byte mask appended to allow the MP/M system to know which bytes in the program need to be changed when the program is relocated. How does the linker do that without disassembling the whole application? In advance the program is linked for two different origins 0x0100 and 0x0200, from the .REL objects. The linker trick is simply recognising which bytes in the two versions of the executable differ. These bytes are then recorded in the bit mask stored following the executable, and the final .PRL program is designed to run from 0x0100 plus its page offset. The same trick is done for the .RSP and .SPR executable files, except that both these formats forego the offset, and run from 0x0000 plus their page offset. […]}}
* {{cite journal |title=Understanding Relocatable Code |series=The Next Step |author-first=Hardin |author-last=Brothers |journal=[[80 Micro]] |publisher=[[1001001, Inc.]] |issn=0744-7868 |date=April 1983 |issue=39 |pages=[https://archive.org/details/80-microcomputing-magazine-1983-04/page/n37 38], 40, 42, 45 |url=https://archive.org/details/80-microcomputing-magazine-1983-04 |access-date=2020-02-06 }} [https://archive.org/stream/80-microcomputing-magazine-1983-04/80Microcomputing_0483_djvu.txt][https://archive.org/download/80-microcomputing-magazine-1983-04/80Microcomputing_0483_text.pdf]
* {{cite journal |title=Relocatable Programs: Microcomputing's Hoboes |series=The Next Step |author-first=Hardin |author-last=Brothers |journal=[[80 Micro]] |publisher=[[CW Communications/Peterborough, Inc.]] |issn=0744-7868 |date=April 1985 |issue=63 <!-- |contribution=illustration |contributor-first=Peter |contributor-last=Bono --> |pages=[https://archive.org/details/80-microcomputing-magazine-1985-04/page/n99 98], 100, 102–103 |url=https://archive.org/details/80-microcomputing-magazine-1985-04 |access-date=2020-02-06 }} [https://archive.org/stream/80-microcomputing-magazine-1985-04/80Microcomputing_0485_djvu.txt][https://archive.org/download/80-microcomputing-magazine-1985-04/80Microcomputing_0485_text.pdf]
<!-- * Jesse Bob Overholt column: The Alternate Source Journal #16 James Farvour Microsoft BASIC Decoded And Other Mysteries POP HL, JP (HL) E1h E9h at offset 000Bh (+11) -->
* {{cite journal |title=Z3PLUSZCPR &3.4 Relocation- Type-4 Information on ZCPR3PLUS, and how to write self relocating Z80 codePrograms |series=AdvancedZCPR3 CP/MCorner |author-first=BridgerJay |author-last=MitchellSage |journal=[[The Computer Journal (US journal)<!-- to be distinguished from the identically named UK journal -->|The Computer Journal]] (TCJ) - Programming, User Support, Applications |issn=0748-9331 |editor-first=Art |editor-last=Carlson |date=July–AugustMay–June 1988 |___location=Columbia Falls, Montana, USA |issue=3332 |pages=[https://archive.org/details/the-computer-journal-3332/page/n10/mode/1up 910]–17 [<nowiki/>[https://archive.org/details/the-computer-journal-32/page/n15/mode/1up 15]–16]–15 |id=ark:/13960/t36121780t1wd4v943 |url=https://archive.org/details/the-computer-journal-3332 |access-date=20202021-0211-09 29}} [https://archive.org/stream/the-computer-journal-3332/tcj_33_Julytcj_32_May-August_1988_djvuJune_1988_djvu.txt][https://archive.org/download/the-computer-journal-3332/tcj_33_Julytcj_32_May-August_1988_textJune_1988_text.pdf]
* {{cite journal |title=ZCPR3Z3PLUS Corner& Relocation - MoreInformation on relocatable codeZCPR3PLUS, PRLand files,how ZCPR34,to andwrite Type-4self programsrelocating Z80 code |series=Advanced CP/M |author-first=JayBridger |author-last=SageMitchell |journal=[[The Computer Journal (US journal)<!-- to be distinguished from the identically named UK journal -->|The Computer Journal]] (TCJ) - Programming, User Support, Applications |issn=0748-9331 |editor-first=Art |editor-last=Carlson |date=September–OctoberJuly–August 1988 |___location=Columbia Falls, Montana, USA |issue=3433 |pages=[https://archive.org/details/the-computer-journal-3433/page/n20n10 209]–25–15 |id=ark:/13960/t0ks7pc39t36121780 |url=https://archive.org/details/the-computer-journal-3433 |access-date=2020-02-09 }} [https://archive.org/stream/the-computer-journal-3433/tcj_34_Septembertcj_33_July-October_1988_djvuAugust_1988_djvu.txt][https://archive.org/download/the-computer-journal-3433/tcj_34_Septembertcj_33_July-October_1988_textAugust_1988_text.pdf][https://web.archive.org/web/20170831184307/http://gaby.de/ftp/pub/cpm/znode51/articles/tcj/tcj34.ws]
* {{cite journal |title=More on relocatable code, PRL files, ZCPR34, and Type-4 programs |series=ZCPR3 Corner |author-first=Jay |author-last=Sage |journal=[[The Computer Journal (US journal)<!-- to be distinguished from the identically named UK journal -->|The Computer Journal]] (TCJ) - Programming, User Support, Applications |issn=0748-9331 |editor-first=Art |editor-last=Carlson |date=September–October 1988 |___location=Columbia Falls, Montana, USA |issue=34 |pages=[https://archive.org/details/the-computer-journal-34/page/n20 20]–25 |id=ark:/13960/t0ks7pc39 |url=https://archive.org/details/the-computer-journal-34 |access-date=2020-02-09}} [https://archive.org/stream/the-computer-journal-34/tcj_34_September-October_1988_djvu.txt][https://archive.org/download/the-computer-journal-34/tcj_34_September-October_1988_text.pdf][https://web.archive.org/web/20170831184307/http://gaby.de/ftp/pub/cpm/znode51/articles/tcj/tcj34.ws]
* {{cite journal |title=Ten Years of ZCPR |series=Z-System Corner |author-first=Jay |author-last=Sage |journal=[[The Computer Journal (US journal)<!-- to be distinguished from the identically named UK journal -->|The Computer Journal]] (TCJ) - Programming, User Support, Applications |issn=0748-9331 |editor-first1=Art |editor-last1=Carlson |editor-first2=Chris |editor-last2=McEwen |date=January–February 1992 |publisher=Socrates Press |___location=S. Plainfield, New Jersey, USA |issue=54 |pages=[https://archive.org/details/the-computer-journal-54/page/n3 3]–7 |id=ark:/13960/t89g6n689 |url=https://archive.org/details/the-computer-journal-54 |access-date=2021-11-29}} [https://archive.org/details/the-computer-journal-54/][https://archive.org/details/the-computer-journal-54/page/n4/mode/1up]
* {{cite journal |title=Type-3 and Type-4 Programs |series=Z-System Corner - Some New Applications of Type-4 Programs |author-first=Jay |author-last=Sage |journal=[[The Computer Journal (US journal)<!-- to be distinguished from the identically named UK journal -->|The Computer Journal]] (TCJ) - Programming, User Support, Applications |issn=0748-9331 |editor-first1=Art |editor-last1=Carlson |editor-first2=Chris |editor-last2=McEwen |date=May–June 1992 |publisher=Socrates Press |___location=S. Plainfield, New Jersey, USA |issue=55 |pages=[https://archive.org/details/the-computer-journal-55/page/n13 13]–19 |id=ark:/13960/t4dn54d22 |url=https://archive.org/details/the-computer-journal-55 |access-date=2021-11-29}} [https://archive.org/details/the-computer-journal-55/][https://archive.org/details/the-computer-journal-55/page/n14/mode/1up]
* {{cite journal |title=Writing Relocatable Code - Some embedded code must run at more than one address |author-first=Jack |author-last=Ganssle |journal=Embedded Systems Programming |date=February 1992 |publisher=The Ganssle Group - Perfecting the Art of Building Embedded Systems / TGG |url=http://www.ganssle.com/articles/arelocat.htm |access-date=2020-02-20 |url-status=live |archive-url=https://web.archive.org/web/20190718232931/http://www.ganssle.com/articles/arelocat.htm |archive-date=2019-07-18}}