HP Pascal/iX Programmer's Guide (31502-90023)
11- 9
HPENBLTRAP (
mask, oldmask
);
Parameters
flag
32-bit integer, passed by value. If
flag
is zero, all traps
are disabled; otherwise, all traps are enabled.
mask
32-bit integer, passed by value, whose bits specify which trap
conditions are enabled. The assignment of each position in
the bit mask is described in "XARITRAP Intrinsic."
oldmask
32-bit integer, passed by reference, in which the old value of
mask
is returned.
On MPE/iX, declare ARITRAP and HPENBLTRAP as external procedures this
way:
PROCEDURE ARITRAP; INTRINSIC;
PROCEDURE HPENBLTRAP; INTRINSIC;
On HP-UX, declare ARITRAP and HPENBLTRAP as external procedures this way:
$PUSH; UPPERCASE ON$
PROCEDURE ARITRAP (Flag : integer); EXTERNAL;
PROCEDURE HPENBLTRAP ( Mask : integer;
VAR OldMask : integer
); EXTERNAL;
$POP$
Example
ARITRAP (1); {enables all traps}
HPENBLTRAP (Hex('007C0000'), OldMask); {enables IEEE floating-point traps}
XLIBTRAP Intrinsic
The MPE/iX intrinsic XLIBTRAP is supported by the HP Pascal run-time
library. It enables a user program to arm a library trap handling
procedure (Library Trap Handler). Subsequently, any Pascal library error
causes this Library Trap Handler to be called, allowing the user to
decide whether to abort or continue the program, or correct the error.
Syntax
XLIBTRAP (
plabel, oldplabel
);
Parameters
plabel
32-bit integer, passed by value, which is the
address of the Library Trap Handler.
oldplabel
32-bit integer, passed by reference, in which the
old value of
plabel
is returned.
On MPE/iX, declare XLIBTRAP as an external procedure this way:
PROCEDURE XLIBTRAP; INTRINSIC;
On HP-UX, declare XLIBTRAP as an external procedure this way:
$PUSH; UPPERCASE ON$
PROCEDURE XLIBTRAP ( PLabel : INTEGER;
VAR OldPLabel : INTEGER
); EXTERNAL;
$POP$