Top Qs
Timeline
Chat
Perspective
VAX MACRO
Computer assembly language From Wikipedia, the free encyclopedia
Remove ads
VAX MACRO is the computer assembly language implementing the VAX instruction set architecture for the OpenVMS operating system, originally released by Digital Equipment Corporation (DEC) in 1977. A significant amount of VMS is written in VAX MACRO.[1]
The syntax, directives, macro language, and lexical substitution operators of VAX MACRO formerly appeared in MACRO-11, the assembler for the PDP-11 series of computers. The MACRO-32 assembler supported the VAX processors developed and manufactured by DEC. It ran under the VMS operating system and produced object files suitable for the VMS linker. The MACRO-32 assembler and linker were bundled with the operating system.
Remove ads
VAX MACRO on other architectures
Summarize
Perspective
The port of VMS to the DEC Alpha architecture led to the creation of a MACRO-32 compiler, which treated VAX MACRO as an input language and generated optimized Alpha object code. The MACRO-32 compiler was necessary since it was not feasible to rewrite the large quantity of VAX MACRO code present in the VMS operating system, layered products, and third-party software.[1] The MACRO-32 compiler was subsequently ported to Itanium and x86-64 as OpenVMS was ported to those architectures.[2][3]
Due to the difficulty of mapping low-level VAX semantics onto other architectures, most VAX MACRO programs written for the native VAX assembler require modification before they can be compiled with the MACRO-32 compiler. These changes include adding directives to explicitly define certain behaviours of the code, and removing code which relies on non-portable constructs.[1] Furthermore, the MACRO-32 compiler allows direct access to certain Alpha architecture features, including Alpha's 32 registers, 64-bit addressing, and a subset of Alpha instructions. These are mapped onto equivalents on Itanium and x86-64, but are not supported by the original VAX MACRO assembler.[4]
The OpenVMS assembler for Alpha assembly code is named MACRO-64. Despite sharing a similar name and macro syntax, MACRO-64 is otherwise unrelated to MACRO-32.[5]
Remove ads
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads