1313: exception error nn : <exception type>, code = nnnnh
This message indicates that a protection exception of the specified
type has occured during the execution of the program. This is an
application program error not a DOS extender error, and indicates
that the application program has attempted an unauthorised operation.
The exception types and a brief description of their causes are
listed below. The numeric code will often indicate the value causing
the error, for example an invalid selector being loaded into a
segment register or a pointer beyond the end of a segment.
This error message will be followed by a dump of all the processor
registers and various other information. Analysis of this information
is covered in more detail in Chapter 5, DOS Extended / Dual Mode
Programs.
Exception 00: divide by zero attempted
This exception is generated by an attempt to divide a value by
zero, and is normally handled by the compiler run time library
when a high level language is being used.
Exception 05: bounds check failed
This exception is generated by a BOUND instruction when the
value to be tested is less than the indicated lower bound or
greater than the indicated upper bound.
Exception 06: undefined opcode
This exception is generated by an attempt to execute an opcode
which is not defined for the processor the program is being run
on.
Exception 07: no maths coprocessor available
This exception is generated by an attempt to execute a floating
point instruction when the processor has no maths coprocessor
available.
Exception 08: double exception fault
This exception is generated when multiple exceptions occur on
one instruction, or an exception occurs in an exception
handler.
Exception 0a: invalid task switch state segment
This exception is generated by an attempt to task switch to a
segment with an invalid task state segment.
Exception 0c: stack overflow / underflow
This exception is generated by a limit violation in any
operation which refers to the stack segment. This includes
stack-oriented instructions such as PUSH and POP as well as
other memory references which implicitly use the stack such as
MOV AX,[BP].
Exception 0d: general protection fault
All protection violations which do not cause another exception
cause a general protection exception. These include exceeding
segment limits, attempting to load invalid selectors into
segment registers, attempting to execute data and attempting to
write to code.