This "HP OpenVMS MACRO Compiler Porting and User's Guide," published in January 2005, primarily serves as a guide for software engineers to port Macro-32 source code from VAX MACRO to the MACRO compiler on HP OpenVMS Alpha or Industry Standard 64 (I64) systems. It also covers porting from OpenVMS Alpha MACRO to OpenVMS I64 MACRO and explains how to use the compiler.
The document details a step-by-step porting methodology, highlighting key differences between the MACRO compiler and the VAX MACRO assembler, particularly regarding code optimization, instruction interleaving, and reserved operand faults. A significant portion focuses on identifying and modifying nonportable VAX MACRO coding practices across various aspects, including stack usage, instruction stream management, flow control mechanisms, dynamic image relocation, static data handling, arithmetic exceptions, page size dependencies, and page locking into working sets. It also addresses synchronization challenges in multiprocessing environments.
Furthermore, the guide provides strategies for improving the performance of ported code through data alignment, branch prediction, and general code optimization techniques. It includes extensive support for 64-bit addressing, detailing components, argument passing, and specific macros/built-ins. Reference appendices offer comprehensive information on compiler qualifiers, specialized directives, Alpha and Itanium instruction built-ins, and macros designed to facilitate porting and 64-bit addressing. The compiler's role in optimizing code and the recommendation to use higher-level languages for new development are also noted.
Site structure and layout ©2025 Majenko Technologies