MPE XL Code-related Traps [ Trap Handling Programmer's Guide ] MPE/iX 5.0 Documentation
Trap Handling Programmer's Guide
Chapter 3 MPE XL Code-related Traps
Code-related traps result from illegal or erroneous coding. The
following are the kinds of traps that can result:
* Data memory protection trap (caused by nil pointer referencing,
illegal alignment, or accessing a data area with improper access
rights)
* Illegal instruction trap
* Instruction memory protection trap
* Break instruction trap
* Privileged operation trap
* Privileged register trap
* Invalid data pointer (caused when an illegal data virtual address is
specified)
* Invalid code pointer (caused when the target of a branch is not a
valid virtual address)
Code-related traps are permanently enabled.
Whenever a code-related trap condition occurs, the MPE XL trap subsystem
takes one of the following actions:
1. If you have executed an HP Pascal/XL TRY statement, control is
passed to the RECOVER block by doing an ESCAPE. However, if a trap
is caused because the program is branching to an invalid address,
then no ESCAPE is executed, and the program aborts with an error
message.
2. If you have not executed an HP Pascal/XL TRY statement, an error
message is output and the process aborts.
MPE/iX 5.0 Documentation