Previous Program Counter

MPLAB® X IDE has a Previous Program Counter (PrevPC) display. Its value can be used as discussed below.

The caller of a subroutine or branch can be identified from the PrevPC value if a breakpoint is set on the first instruction of the destination routine (or subroutine). When the part is halted in the debug session, the PrevPC display in MPLAB X IDE will indicate the address of the calling or branch instruction.

Similarly, if a breakpoint is set on the instruction that follows a BTFSC-pair (not the skipped instruction, but the next one), PrevPC will identify whether or not the skip occurred.

Additionally, if an 'execution out-of-bounds' halt exception occurs, the PrevPC feature can be used to identify the wild-branch instruction that caused the 'execution out-of-bounds' halt exception.

Figure 1: Previous PC View
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.