Converting Data Files from MPE V/E to MPE/iX

When converting ￿les from MPE V/E to MPE/iX, y ou must consider sev eral di￿erences in data storage, including:

Floating poin t di￿erences

Floating poin t, single precision di￿erences

Floating poin t, double precision di￿erences

Floating poin t conversion intrinsic

HP FORTRAN 77/iX nativ e alignment

HP Pascal/iX allocation alignmen t of independent variables

COBOL II/XL nativ e alignment

MPE/iX has man y data type di￿erences from MPE V/E, in terms of concepts of data storage, di￿erences in data storage tec hniques, and implications for the programmer in handling them. For an overview of data con version, refer to Introduction to MPE/iX for MPE V Programmers (30367-90005). For detailed information on MPE/iX data t ypes, refer to Data Types Conversion Programmer's Guide (32650-90015). It describes the utilities for con verting MPE V/E binary data ￿les to MPE/iX nativ e mode format.

Di￿erences in tegral to the conversion of MPE V/E data ￿les to MPE/iX are:

MPE V/E and MPE/iX data v ariables and data structures are di￿eren t. MPE V/E has a 16-bit native word length and MPE/iX has a 32-bit w ord length.

MPE V/E and MPE/iX ￿oating poin t formats di￿er.

MPE/iX is the same as MPE V/E for most data con versions, except for ￿oating-poin t decimal numbers. An intrinsic called HPFPCONVERT , included in MPE/iX, con verts ￿oating-poin t decimal number formats.

Data alignmen t and real number storage formats di￿er in MPE/iX from their MPE V/E implementations.

Data Alignment Differences

MPE V/E and MPE/iX eac h have a di￿erent word size; MPE/iX has a 32-bit w ord size, and MPE V/E has a 16-bit w ord size. Therefore, applications to be compiled on MPE/iX to run in Native Mode using MPE V/E-compatible data ￿les, ma y have to select the HP3000 _16 compiler directiv e that is provided with Native Mode compilers. This option causes the compiler to:

Align data in records on 16-bit boundaries (as in MPE V/E), instead of 32-bit boundaries.

Selects the MPE V/E represen tation mode for real n umbers.

Many data structures that are aligned on 16-bit boundaries on MPE V/E are aligned on 32-bit boundaries on MPE/iX. On MPE/iX, 32-bit data t ypes are aligned on 32-bit boundaries, b y default, to impro ve performance. Figure 1-11 sho ws the di￿erences in data alignment between MPE V/E and MPE/iX with an HP F ORTRAN 77/iX example.

OVERVIEW 1-29