|
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 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.