Architecture

(1) DEPC (Debug Exception Program Counter) register (register no.17)

The DEPC register holds the address where processing is to resume after the debug exception has been taken care of.

(Note : DEPC is a read/write register.)

The address that goes in the DEPC register is the virtual address of the instruction that caused the debug exception. If that instruction is in the branch delay slot, the virtual address of the immediately preceding branch or jump instruction goes in this register and Debug register DBD bit is set to 1.

Execution of the DERET instruction causes a jump to the DEPC address.

31

0

 

 

 

DEPC

32

Figure 8-2 DEPC register

(Note) When a debug exception occurs, EPC retains its value.

(2) Debug register (register no.16)

31

30

29

 

16 15

14

13

12

11

10

9

8

7

6 5

 

 

 

 

0

DBD

DM

 

0

 

0

NIS

<R>

OES

TLF

BsF

0

SSt

0

0

<R>

<R>

<R>

<R>

DBP

DSS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

14

1

1

1

1

1

1

1

1

2

1

1

1

1

1

1

Figure 8-3 Debug register

SSt and BsF are read/write bits; all other bits are read-only, to which writes are ignored.

nDBD (Debug Branch Delay)

When a debug exception occurs while the instruction in the branch delay slot is executing, this bit is set to 1.

nDM (Debug Mode) (0 at reset)

This bit indicates whether or not a debug exception handler is running. It is set to 1 when a debug exception is raised, and cleared to 0 upon return from the exception.

0:Debug handler not running

1:Debug handler running

85

Page 96
Image 96
Toshiba TX39 user manual Debug register register no.16, DBD Debug Branch Delay, DM Debug Mode 0 at reset