On 11 April 2013 10:32, Ed Jaffe <edja...@phoenixsoftware.com> wrote:

> The oldest assembler I ever used was IFOX00. ISTR, it did not have
> support for LOCTR but my memory could be faulty.

It matches mine.

It's worth remembering that ASMH predates IFOX00. (Well, as far as
customer availability goes; I have no idea what went on inside IBM.) I
have never understood the point of IFOX00; it appears to be a
reimplemention from scratch to the IEUASM specs, with a couple of
trivial functional enhancements, and using reentrant code. Compared to
IEUASM it has no significant performance advantage, appears not to
exploit any particular aspects of virtual storage, the supported macro
and assembler language is essentially identical, diagnostics are no
better, and so on.

I can only guess at the internal politics in play at the time that
must have led to this project, when ASMH already existed and offered
so much more. IBM's usual internal competition, I suppose, but in such
a small subject area...

On the more on-topic matter of jumpifying and putting data at the
start of a module, it bears keeping in mind that it does locality of
reference no good to have a single branch/jump instruction at the
start of a module, followed by a large amount of data, and then code
continuing way down. While no-one may be paging the way they used to
these days, it still shouldn't be encouraged, and hopping down the
pages with one instruction reference each is not the thing to do. Even
on the smaller scale and much faster resolution time of cache lines,
it's probably not such a good thing.

Tony H.

Reply via email to