Ausserdem gibt es mit der Pase-Umgebung (AIX-runtime) die Möglichkeit mit einem AIX-C Compiler direkt nativ RISC Power-Code zu erzeugen.
Mittlerweile kann ich den/die AIX-Compiler sogar auf der AS/400 direkt aufrufen.

Das eigentliche Betriebssystem der AS/400 ist ja der LIC-Code und dieser ist weitestgehend unter C bzw. C++ auf einer IBM eigenen Entwicklungsumgebung unter AIX entstanden.

Bei den HLL-Programmiersprachen unter OS/400 bin ich auf den internen im LIC abgelegten Code-Translator angewiesen, der ja nach dem HLL-Compiler aufgerufen wird. Und der erzeugt nur qualifizierten RISC-Code, welcher auf der MI Schnittstelle aufsetzt. Damit kann ich also direkt keine "schädlichen" Power-RISC-Instructions erzeugen.

Aber auch bei MI Programmierung komme ich nicht so ohne weiteres an geschützte Speicherbereiche für Daten und Programmcode heran.
Weil das OS/400 Domänkonzept dies verhindert :
The QPRCRTPG API creates a program object that resides in
the *USER domain and runs in the *USER state.

Um dem Program doch zu ermöglichen auf geschützte Instruktionen/Datenberiche zuzugreifen muss ich es so patchen, dass es im system state läuft. Das geht nur mit dem DST/SST. Hier kann ich die Objekte direkt auf der Platte patchen, wie mit einem Hex-Editor.
Im laufendem Betrieb kommt man damit also nicht ran.
Auch ein Restore eines solcherart gepatchten Programms geht nicht.

(Ein MI-Guru ist hier Leif Svalgaard, hat an FAST400 massgeblich Anteil; eine Software welche den CFINT-Governour austrickst)
Siehe auch : http://www.leif.org/


Sven


Sven