SPL to HP C/XL Migration Guide (30231-90001)

1-2
CAUTION Applications running in Compatibility Mode must not execute
privileged instructions; they must call only documented,
callable MPE V/E or subsystem intrinsics. However, they may
enter Privileged Mode and may call MPE V/E privileged intrinsics
from Compatibility Mode.
Object Code Translation
The object code translation program, OCT, which is available on MPE XL
machines, translates many of the MPE V instructions in a compiled object
file into MPE XL instructions. While such a translated program must
still run in Compatibility Mode, it may run faster than an untranslated
program. In general, OCT provides higher performance at the expense of a
larger program size and greater difficulty in debugging. OCT may be
executed with the MPE XL :OCTCOMP command. See the
MPE XL Commands
Reference Manual
for details.
Conversion to Another Language
Compatibility Mode and object code translation may be sufficient for
many
applications. However, any program that requires maximum efficiency or
is enhanced and upgraded regularly should be converted to a language
that
generates Native Mode instructions on MPE XL machines. HP C/XL is the
recommended migration language. COBOL II/XL, HP FORTRAN 77/XL, and HP
Pascal/XL, are suitable alternatives.
This migration guide addresses the option of converting SPL source code
to HP C/XL.
Converting SPL to HP C/XL
SPL is a procedure-oriented language. The basic structure of SPL and
most of the language constructs are machine-independent. However,
machine-dependent constructs are embedded within SPL to allow systems
programmers to optimize programs and access system-specific hardware
features.
The C language is a portable, machine-independent programming language.
Like SPL, C is a procedure-oriented language that uses many similar
constructs. This similarity, while making C a good candidate for
converting SPL programs, initially may cause some difficulties for
experienced SPL programmers. For example: C uses "=" as the assignment
operator; SPL uses ":="; C uses "==" as the equality operator; SPL uses
"=".
HP C/XL is the Hewlett-Packard implementation of C on MPE XL machines.