HOME

TheInfoList



OR:

--> , typing = Untyped , scope =
Lexical Lexical may refer to: Linguistics * Lexical corpus or lexis, a complete set of all words in a language * Lexical item, a basic unit of lexicographical classification * Lexicon, the vocabulary of a person, language, or branch of knowledge * Lexical ...
, programming language =
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
, discontinued = Yes , platform = Native:
VAX VAX (an acronym for virtual address extension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...

With translation:
Alpha Alpha (uppercase , lowercase ) is the first letter of the Greek alphabet. In the system of Greek numerals, it has a value of one. Alpha is derived from the Phoenician letter ''aleph'' , whose name comes from the West Semitic word for ' ...
,
Itanium Itanium (; ) is a discontinued family of 64-bit computing, 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly dev ...
,
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
, operating system = VMS , influenced by = MACRO-11 , influenced = MACRO-64 , website = VAX MACRO is the computer
assembly language In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
implementing the
VAX VAX (an acronym for virtual address extension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
instruction set architecture In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
for the
OpenVMS OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Op ...
operating system, originally released by
Digital Equipment Corporation Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until ...
(DEC) in 1977. A significant amount of VMS is written in VAX MACRO. The syntax, directives, macro language, and lexical substitution operators of VAX MACRO formerly appeared in MACRO-11, the assembler for the
PDP-11 The PDP–11 is a series of 16-bit minicomputers originally sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of a ...
series of computers. The ''MACRO-32'' assembler supported the
VAX VAX (an acronym for virtual address extension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
processors developed and manufactured by DEC. It ran under the VMS
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
and produced object files suitable for the VMS
linker Linker or linkers may refer to: Computing * Linker (computing), a computer program that takes one or more object files generated by a compiler or generated by an assembler and links them with libraries, generating an executable program or shar ...
. The MACRO-32 assembler and linker were bundled with the operating system.


VAX MACRO on other architectures

The port of VMS to the
DEC Alpha Alpha (original name Alpha AXP) is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set computers ( ...
architecture led to the creation of a MACRO-32
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
, 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. The MACRO-32 compiler was subsequently ported to
Itanium Itanium (; ) is a discontinued family of 64-bit computing, 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly dev ...
and
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set architecture, instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new ope ...
as OpenVMS was ported to those architectures. 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. 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. 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.


References


External links


VSI OpenVMS VAX MACRO and Instruction Set Reference ManualVSI OpenVMS MACRO Compiler Porting and User's Guide
{{Digital Equipment Corporation Assembly languages Systems programming languages OpenVMS OpenVMS software Digital Equipment Corporation