User`s guide

MACRO Compiler Directives
.ENABLE
Option Description
OVERFLOW Activates production of overflow trap code for the following
opcodes: ADDx, ADWC, INCx, ADAWI, SUBx, SBWC, DECx,
MNEGx, MULx, CVTxy (where x is greater than y, for
example CVTLB), AOBxx, ACBL, and SOBxx.
QUADWORD Provides support for quadword literal and address
expressions.
SUPPRESSION Provides a listing of unreferenced symbols in the symbol
table.
TRACEBACK
2
Provides traceback information to the debugger.
2
To take effect, you must compile with /DEBUG or /ENABLE=TRACEBACK.
.EXCEPTION_ENTRY (OpenVMS Alpha only)
Declares the entry point of an exception service routine to the compiler.
Format
.EXCEPTION_ENTRY [preserve] [,stack_base]
Parameters
preserve=<>
Register set that forces the compiler to save and restore across the routine call
the contents of registers. By default, the compiler saves at routine entry and
restores at routine exit the full 64-bit contents of any register that is modified by
a routine.
In the case of an .EXCEPTION_ENTRY routine, exception dispatching saves R2
through R7 on the stack (along with the PC and PSL) and the values of these
registers are restored by the REI instruction executed by the routine itself. Other
registers, if used, are saved in code generated by the compiler, and all other
registers are saved if the routine issues a CALL or JSB instruction.
stack_base
Register into which the stack pointer (SP) value is moved at routine entry. At
exception entry points, exception dispatching pushes onto the stack registers
R2 through R7, the PC, and the PSL. Note that the Alpha counterpart for the
VAX register known as the PSL is the processor status (PS) register. The value
returned to the register specified in the stack_base helps an exception service
routine locate the values of these registers.
You can use the macro $INTSTKDEF in SYS$LIBRARY:LIB.MLB to define
symbols for the area on the stack where R2-R7, the PC, and the PSL are stored.
The symbols are:
• INTSTK$Q_R2
• INTSTK$Q_R3
• INTSTK$Q_R4
• INTSTK$Q_R5
B–10 Specialized Directives