¿ªÔÆÌåÓý

Re: VM/370 CE Assembler F, Assembler XF


 

On Tue, 23 Jan 2024 at 12:14, Drew Derbyshire <swhobbit@...> wrote:
On Mon, Jan 22, 2024 at 07:11 PM, Tony Harminc wrote:
Assembler F and XF are indeed completely different programs. For whatever reasons, IBM appears to have written XF to the same specs as F, but from scratch. There are a few minor new features, and the code is reentrant (whoop-de-do), but that's it. That notwithstanding that the vastly superior Assembler H already existed.

Remember, the suffixes for various products is not based on function level but how much (real) memory it needed; this was an era when the IBM S/360 65 maxed out at 1 MB core of fast core.? Even the S/370 model 165 was originally offered with only up to 3 MB of core.?

Yes, but...

(The way Hercules users can run MVT on a uniprocessor with 16 MB of cheap real memory was a fantasy in 1971.)

Indeed. Only once in my life did I run on a real machine with 16 MB.. That was a 168MP at an IBM site when the university I worked at had a fire, and no DR plan. But all we got was a 2MB virtual machine to match our 165.

Quoting Wikipedia:

Between 1966 and 1968, IBM offered several FORTRAN IV compilers for its System/360, each named by letters that indicated the minimum amount of memory the compiler needed to run. The letters (F, G, H) matched the codes used with System/360 model numbers to indicate memory size, each letter increment being a factor of two larger:?

  • 1966 : FORTRAN IV F for DOS/360 (64K bytes)
  • 1966 : FORTRAN IV G for OS/360 (128K bytes)
  • 1968 : FORTRAN IV H for OS/360 (256K bytes)
Function was certainly related to how much memory was needed, but (re)writing an F level component when the H component existed made perfect sense if the F level component needed a quarter of the??(expensive)?memory.

Yes, but...

As has been pointed out in this thread, and - looking back - as early as 2007 on the Hercules lists - ASM H didn't follow that scheme for at least two reasons:

Waterloo's ASMG already existed, and it would've been beyond bizarre for IBM to come out with an "Assembler G" program product that competed with the "real" (and free) ASMG that was already in wide use.

ASM H is structured very differently from the IBM compilers of the day, including both ASM F and XF. ASM H *can* use a lot of main storage, and doesn't even need a work file if there is enough of it. But if you do give it a work file it effectively pages its data to it, and can get by in very little main storage. So the "design points" like F, G, and H are not so relevant to this kind of design.

The older assemblers, in contrast, always use three work files - each for a different kind of data.? Adding main storage beyond a certain fairly low point won't make them run faster or reduce the size of the work files, and adding more work file space won't reduce the memory needed beyond a certain point. In other words each is a separate kind of resource.

There are many many comments on these lists over the years on the various assemblers - my own first contribution seems to be from 2005, and that about where my email archive starts, so they may go back further. Maybe someone should consolidate them all for "convenience".
Weird but true.?

No, just pragmatic.

Yes, but...? :-)

Tony H.

Join [email protected] to automatically receive all group messages.