SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The decode program counter register (DPC) contains the halfword address of the next instruction to be executed (or instruction currently at DEC stage of the pipe). The DPC is shown in Figure 8-51 and described in Table 8-333.
The DPC is a read-only register provided for debug purposes only. A read of DPC while the CPU is halted at a debug event shows the PC of the next instruction to be executed (after the CPU is resumed from a halted state). The debugger can use DPC to determine the halt location. Reading DPC from the debugger while the CPU is running has limited or no use.
An MVC instruction with DPC as write address is ignored by the CPU, no errors are generated.
A read of DPC via the MVC instruction returns the address of the MVC instruction itself. For example, in the following assembly instruction sequence, the read of DPC via the MVC instruction returns 0x101 in R1:
0x100 ADDD 1, R0, R0
0x101 MVC DPC, R1 ; R1 gets 0x101| 31 | 30 | 0 | |||||||||||||||||||||||||||||
| Rsvd | Decode Program Counter | ||||||||||||||||||||||||||||||
| R-0 | R-0 | ||||||||||||||||||||||||||||||
| LEGEND: R = Read only; -n = value after reset |
| Bit | Field | Value | Description |
|---|---|---|---|
| 31 | Reserved | 0 | Reserved. The reserved bit location is always read as 0. A value written to this field has no effect. |
| 30-0 | Decode Program Counter | 0-7FFF FFFFh | Contains the address of the next instruction to be executed. |