Preserving the Debugger Operating Environment

Notice that the value of the target stack pointer register (A7) has not changed even though a trace exception has taken place. Your program may either use the exception vector table provided by 177Bug or it may create a separate exception vector table of its own. The two following sections detail these two methods.

Using 177Bug Target Vector Table

The 177Bug initializes and maintains a vector table area for target programs. A target program is any program started by the bug:

Manually with GO command

Manually with TR type command

Automatically with the BO command

The start address of this target vector table area is the base address of the debugger memory. This address loads into the target-state VBR at power-up or cold-start reset and can be observed by using the RD command to display the target-state registers immediately after power-up.

The 177Bug initializes the target vector table with the debugger vectors listed in Table B-3 and fills the other vector locations with the address of a generalized exception handler (refer to the 177Bug 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 B-3 are overwritten, the accompanying debugger functions are lost.

The 177Bug 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.

B

B-39

Page 119
Image 119
Motorola MVME177 manual Using 177Bug Target Vector Table