HP 3000 Manuals

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