× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



From: Leif Svalgaard <leif@leif.org>
From: Njål Fisketjøn <n.f@figu.no>
> Leif Svalgaard wrote:
> > it never was written in MI. IBM does not and did not write in MI.
> I *thought* that CPF was written in MI, and that IBM rewrote most of
> CPF (~75%) when they made it OS/400.

A bit more history:

The compilers originally developed for the S/38 and CPF were all
developed in IBM Rochester. With the beginning of the AS/400
development (Silverlake) project, IBM's corporate direction had
shifted, and all compiler related development for all IBM platforms
was moved to TOROLABS in Toronto, Canada.

In the timeframe of 1990 to 1994, during the development of ILE
and the CISC to RISC migration strategy and the W-Code, IBM
Toronto Labs made modifications to the old OPM/EPM C/400
compiler to allow "binding" (APTA, the so-called Application
Performance Tuning Aid), which allowed binding several smaller
*PGM objects into one larger consolidated *PGM object.
This was used internally to develop the "next generation" ILE
C/400 compiler and runtime support.

Meanwhile, IBM Rochester came up with their own "dialect" of
W-Code, called "New MI" (aka. NMI), which looks a lot like W-Code,
but is simplified somewhat in the actual binary format. Most, if not all,
of the "OX" components that translate from NMI to native RISC
PowerPC code are written in Modula-2, which was in favor at that
time, prior to the adoption of C++ for the SLIC kernel development
project.

Note: if a product was written in PL/MI,or PL/S then it was done
under VM/CMS, as apparently no one ever bothered to "port" the
PL/MI compiler from VM/CMS to OS/400. The output of PL/MI
is not MI assembler source, but rather, an actual "binary" MI template,
in 80-byte card image format, which can be "punched" via the
virtual card punch under VM/CMS, and then transported to an
actual AS/400 machine, (probably via SNADS). It can then be
read in and processed (encapsulated) into a *PGM object, using
tools or an API like QSCCRTPG. Similarly, parts of the "core" of
CISC-based OS/400 are written in PL/MP, which also ran under
VM/CMS. The resulting IMPI instruction stream objects were
similarly "ported" to the OS/400 (probably via a similar mechanism).
I am not certain of where the Modula-2 compiler ran (what platforms).

Now, for the RISC PowerPC machines, the C++ compiler used for
the SLIC kernel development runs under AIX on RS/6000s. With the
V5R1 announcement of a "new" ILE C/400 compiler "base" that runs
under PASE, it is possible that we may actually see a "shift" here,
and it may become possible for IBM to begin to use OS/400 to develop
more parts of OS/400 in the future. (Whether they will actually do this
or not remains to be seen.), but up to now, IBM itself does not do much
(if any) development on the AS/400 (or iSeries). This may help create
the mindset that the AS/400 is dead and that our (their) only problem
is how to get us off it and onto a "real" computer that can even be
used for development. :-)





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.