User`s guide

MACRO compiler (cont’d)
definition, 1–1
differences between it and assembler, 1–2
directives, 2–31
emulation routine library, 2–31
features, 1–1
invoking, 2–31, A–1
limitations of, 1–1, 3–1
messages, 1–5
overview, 2–1
qualifiers, A–1 to A–10
specialized directives, B–1
temporary register usage, 2–2, 2–15, B–5,
B–13, B–15
MACRO Compiler for OpenVMS Alpha
problems and restrictions, 3–3
quadword moves into the VAX SP and PC, 3–3
Macro libraries, 2–31
Macros
for 64-bit addressing, E–1 to Index–1
for porting from VAX to Alpha or I64, C–8 to
E–1
.MASK directive, B–1
MAX_ARGS argument
.CALL_ENTRY directive, 2–9
MB instructions
preserving atomicity, 3–24
MEMACCLOC warning message, 3–6
Memory
detecting unaligned references, A–5
modifying in one operation, 2–21
unaligned references, 2–21
Memory barrier
implicit in interlocked instructions, 3–23
Messages
disabling reporting, 1–5, A–10
interpreting, 1–5
Methodology
porting
from OpenVMS Alpha to OpenVMS I64,
1–6
from OpenVMS VAX to OpenVMS Alpha or
OpenVMS I64, 1–4
MFPR instruction, 3–5
MOVC3 instruction, 5–7
MOVC5 instruction, 5–7
MOVPSL instruction, 3–7
MTPR instruction, 3–5
Mutexes
synchronization guarantees, 3–24
N
$NEXT_PAGE macro, 5–7, D–3
Nonportable coding practices, 1–6
fixing, 3–1 to 3–24
/NOSYMBOLS qualifier, A–9
/NOTIE qualifier, A–9
O
/OBJECT qualifier, A–2
.ODD directive, B–1
Opcode
moving to stack or data area, 1–8
.OPDEF directive, B–1
OpenVMS calling standard, 2–2
Operand descriptors, B–8
Operators
acquisition and release, 3–24
Optimization, 4–1 to 4–11
addresses, 4–7, 4–9
aligning data, 4–1
branch prediction, 4–3
code, 4–7
common-based referencing, 4–9
declaring register usage, 4–8
instructions, 4–7
multiple data references, 4–7
VAX registers, 4–7
/OPTIMIZE=VAXREGS, 2–13
/OPTIMIZE qualifier, A–2, A–7
ADDRESSES option, 4–7, A–7
PEEPHOLE option, 4–7, A–7
REFERENCES option, 4–7, A–7
SCHEDULING option, 4–7, A–7
VAXREGS option, 4–7, A–7
OTS$MOVE3 routine, 5–7
OTS$MOVE5 routine, 5–7
Output register argument, 1–5
Output register set, B–5, B–12, B–14
Overflow trap, 2–18, 2–20
decimal divide by zero, 2–18
decimal overflow, 2–18
integer overflow, 2–18
reserved operand, 2–18
Overflow trap code
activates production, A–3, A–4, B–9
deactivates production, B–9
P
Packed decimal data
debugging code with, 2–35
Packed decimal instructions, 2–17
Page count
converting to byte count, D–4
Page locking
system working set, 3–18 to 3–23
Page size
calculations based on, 5–1, 5–7, D–1 to D–6
dependencies, 3–18
macro parameter for 64-bit addressing, 5–1,
5–7
Index–6