HP 3000 Manuals

MPE XL Trap Subsystem Escape Codes [ Trap Handling Programmer's Guide ] MPE/iX 5.0 Documentation


Trap Handling Programmer's Guide

Appendix B  MPE XL Trap Subsystem Escape Codes 

The escape codes from the trap library are 32-bit integer values that are
read in two 16-bit fields:

         +----------------+----------------+
         |  Error Number  |   Subsystem    |
         +----------------+----------------+
     Bit  0             15 16            31

Bits (0:16) comprise ecode.errnum.  Bits (16:16) comprise ecode.subsys.
The subsystem number for the MPE XL trap subsystem is 200.  The values of
ecode.errnum are listed in Table B-1:

          Table B-1.  Trap Library Escape Codes 

-----------------------------------------------------------------------------------------------
|                   |                   |                                                     |
|   Error Number    | Escapecode in Hex |                       Meaning                       |
|                   |                   |                                                     |
-----------------------------------------------------------------------------------------------
|                   |                   |                                                     |
|        07         |    0x000700c8     | 3000 Mode Packed Decimal Error                      |
|                   |                   |                                                     |
|        08         |    0x000800c8     | Paragraph Stack Overflow                            |
|                   |                   |                                                     |
|        09         |    0x000900c8     | Unimplemented Condition Trap                        |
|                   |                   |                                                     |
|        10         |    0x000a00c8     | Software-detected Misaligned Pointer or Conversion  |
|                   |                   | of Long Pointer into Short Pointer Error            |
|                   |                   |                                                     |
|        11         |    0x000b00c8     | Software-detected Nil Pointer Reference             |
|                   |                   |                                                     |
|        12         |    0x000c00c8     | Range Errors                                        |
|                   |                   |                                                     |
|        13         |    0x000d00c8     | IEEE Floating Point Invalid Operation               |
|                   |                   |                                                     |
|        14         |    0x000e00c8     | IEEE Floating Point Divide by Zero                  |
|                   |                   |                                                     |
|        15         |    0x000f00c8     | IEEE Floating Point Overflow                        |
|                   |                   |                                                     |
|        16         |    0x001000c8     | IEEE Floating Point Underflow                       |
|                   |                   |                                                     |
|        17         |    0x001100c8     | IEEE Floating Point Inexact Result                  |
|                   |                   |                                                     |
|        18         |    0x001200c8     | Decimal Divide by Zero                              |
|                   |                   |                                                     |
|        21         |    0x001500c8     | Invalid Decimal Digit                               |
|                   |                   |                                                     |
|        22         |    0x001600c8     | Invalid ASCII Digit                                 |
|                   |                   |                                                     |
-----------------------------------------------------------------------------------------------

          Table B-1.  Trap Library Escape Codes(cont.) 

-----------------------------------------------------------------------------------------------
|                   |                   |                                                     |
|   Error Number    | Escapecode in Hex |                       Meaning                       |
|                   |                   |                                                     |
-----------------------------------------------------------------------------------------------
|                   |                   |                                                     |
|        23         |    0x001700c8     | Decimal Overflow                                    |
|                   |                   |                                                     |
|        24         |    0x001800c8     | HP 3000 Mode Double Precision Divide by Zero        |
|                   |                   |                                                     |
|        25         |    0x001900c8     | HP 3000 Mode Double Precision Underflow             |
|                   |                   |                                                     |
|        26         |    0x001a00c8     | HP 3000 Mode Double Precision Overflow              |
|                   |                   |                                                     |
|        27         |    0x001b00c8     | Integer Overflow                                    |
|                   |                   |                                                     |
|        28         |    0x001c00c8     | HP 3000 Mode Floating Point Overflow                |
|                   |                   |                                                     |
|        29         |    0x001d00c8     | HP 3000 Mode Floating Point Underflow               |
|                   |                   |                                                     |
|        30         |    0x001e00c8     | Integer Divide by Zero                              |
|                   |                   |                                                     |
|        31         |    0x001f00c8     | HP 3000 Mode Floating Point Divide by Zero          |
|                   |                   |                                                     |
|        51         |    0x003300c8     | Illegal Instruction                                 |
|                   |                   |                                                     |
|        52         |    0x003400c8     | Data Memory Protection Trap, Hardware-detected Nil  |
|                   |                   | or Misaligned Pointer                               |
|                   |                   |                                                     |
|        53         |    0x003500c8     | Illegal Code or Data Virtual Address                |
|                   |                   |                                                     |
-----------------------------------------------------------------------------------------------


NOTE There are four escape codes that are associated with illegal pointers. If you want to catch code errors due to illegal pointers, you must check for all four escape codes: 0x000a00c8 0x000b00c8 0x003400c8 0x003500c8


MPE/iX 5.0 Documentation