This document is the VAX-11 MACRO Language Reference Manual (Order No. AA-D032B-TE), published in February 1979 for VAX-11 MACRO V2.0 and VAX/VMS V1.5.
It serves as a comprehensive reference for the VAX-11 MACRO assembly language supported by VAX/VMS. The manual is intended for programmers already familiar with assembly language, the VAX-11 instruction set, and the VAX/VMS operating system.
The document details:
- Assembly Language Fundamentals: The format of MACRO source statements (label, operator, operand, comment fields), the character set, numbers (integers, floating-point, packed decimal), symbols (permanent, user-defined, local labels), terms, expressions, and unary/binary operators.
- Addressing Modes: A summary of VAX-11 addressing modes, including General Register, Program Counter, Index, and Branch modes.
- Assembler Directives: Extensive descriptions of general assembler directives for data storage, memory allocation, program alignment, program sectioning, symbol control, routine entry points, conditional assembly, cross-referencing, instruction generation, listing control, and message display.
- Macros: How to define and use macros, including argument handling (default values, keywords, strings, concatenation, numeric values), created local labels, and macro-specific directives and string operators (%LENGTH, %LOCATE, %EXTRACT).
- Technical Changes: It highlights new directives and arguments added in VAX-11 MACRO V2.0, such as
.ASCID, .CROSS, .NOCROSS, .DEFAULT, .OPDEF, .SIGNED_BYTE, and .SIGNED_WORD, along with new macro string operators.
Appendices provide quick references for ASCII characters, a summary of directives, the permanent symbol table (opcodes), and hexadecimal/decimal conversion.