| Deutsch English Français Italiano |
|
<b1331ae8e77271d5adade40afcc34169@www.novabbs.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!i2pn.org!i2pn2.org!.POSTED!not-for-mail From: quadibloc <quadibloc@gmail.com> Newsgroups: comp.arch Subject: Re: Why I've Dropped In Date: Sun, 15 Jun 2025 19:29:23 +0000 Organization: novaBBS Message-ID: <b1331ae8e77271d5adade40afcc34169@www.novabbs.com> References: <0c857b8347f07f3a0ca61c403d0a8711@www.novabbs.com> <dd6e28b90190e249289add75780b204a@www.novabbs.com> <ec821d1d64555055271e3b72f241d39b@www.novabbs.com> <8addb3f96901904511fc9350c43917ef@www.novabbs.com> <102b5qh$1q55a$2@dont-email.me> <48c03284118d9d68d6ecf3c11b64a76b@www.novabbs.com> <102cd09$23hcu$1@dont-email.me> <42cac84be6fb35b9e468cc174919bc4a@www.novabbs.com> <102eske$2nqdn$1@dont-email.me> <b1157f4e66cf38dd9461927b9262ae6a@www.novabbs.com> <102g6b9$36ikc$1@dont-email.me> <102geum$38g45$1@dont-email.me> <102hfp6$3gg8a$1@dont-email.me> <102hnqs$3hv4m$3@dont-email.me> <dfd73e1785d1de562136a170e6cd5fbe@www.novabbs.com> <102jk11$4rmg$3@dont-email.me> <102k8v4$9ep2$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="646366"; mail-complaints-to="usenet@i2pn2.org"; posting-account="GSAUMsvIs05PgSAevbIzdWiOy1BcuThtiv166p5NnMk"; User-Agent: Rocksolid Light X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Posting-User: 7260c650ae4d5ba82d3b6b1eab0ac1b8653ff052 X-Rslight-Site: $2y$10$Ab3ZMjkwwCZUlF/N7g0ozusfl8yiGanwXEwUOXPPArA1ext6O6rri On Sat, 14 Jun 2025 16:45:23 +0000, Stephen Fuld wrote: > On 6/14/2025 3:48 AM, Thomas Koenig wrote: >> Which made nonsense the concept of making data relocatable by >> always using base registers. > > Forgive me, but I don't see why. When the program is linked, the COMMON > block is at some fixed displacement from the start of the program. So > the program can "compute" the real address of the data in common blocks > from the address in its base register. The purpose of a COMMON block is to share variables between the main program and subroutines. On the System/360, a FORTRAN compiler typically compiled each subroutine in a program separately from every other subroutine. They just got linked together by the linking loader in order to run. So no subroutine would know where a COMMON block created by loader for the main program would be unless that information was given to it - and the loader would give it that information, in the form of a full 24-bit address constant, so it didn't have to be passed as a parameter. John Savard