Creating a new vector table – Motorola MVME166IG/D2 User Manual

Page 83

Advertising
background image

Preserving the Debugger Operating Environment

MVME166IG/D2

4-13

4

The 166Bug initializes the target vector table with the debugger vectors listed
in Table 4-2 and fills the other vector locations with the address of a
generalized exception handler (refer to the 166Bug Generalized Exception
Handler
section in this chapter). The target program may take over as many
vectors as desired by simply writing its own exception vectors into the table.
If the vector locations listed in Table 4-2 are overwritten then the
accompanying debugger functions are lost.

The 166Bug maintains a separate vector table for its own use. In general, you
do not have to be aware of the existence of the debugger vector table. It is
completely transparent and you should never make any modifications to the
vectors contained in it.

Creating a New Vector Table

Your program may create a separate vector table in memory to contain its
exception vectors. If this is done, the program must change the value of the
VBR to point at the new vector table. In order to use the debugger facilities you
can copy the proper vectors from the 166Bug vector table into the
corresponding vector locations in your program vector table.

The vector for the 166Bug generalized exception handler (described in detail
in the 166Bug Generalized Exception Handler section in this chapter) may be
copied from offset $08 (bus error vector) in the target vector table to all
locations in your program vector table where a separate exception handler is
not used. This provides diagnostic support in the event that your program is
stopped by an unexpected exception. The generalized exception handler gives
a formatted display of the target registers and identifies the type of the
exception.

Advertising