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