Motorola MVME166IG/D2 manual Creating a New Vector Table

Models: MVME166IG/D2

1 122
Download 122 pages 35 Kb
Page 83
Image 83

Preserving the Debugger Operating Environment

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.

4

MVME166IG/D2

4-13

Page 83
Image 83
Motorola MVME166IG/D2 manual Creating a New Vector Table