%GPRn

(%GPR0 to %GPR15.)

Represent 32-bit General Purpose Registers at the point of interruption in a program.

To modify one of these registers, assign a value to the associated %GPRn variable.

Usage notes

  • If you modify a %GPRn register, the change is reflected when you resume program execution.
  • Do not modify base registers.
  • %GPRn cannot be used as the target of an assignment while debugging Enterprise PL/I programs.
  • In disassembly view, you can replace Rn with %GPRn.
  • In assembler, you can replace %GPRn with any symbol defined in the program and whose first use in the program was as a register. You can also use any of the R0, R1, ..., R15 symbols that were not defined in the programs.
  • For Enterprise PL/I, if you display the value of %GPRn by using the LIST command, the result is displayed in FIXED BINARY(31) format.
  • For PL/I for MVS & VM, if you display the value of %GPRn by using the LIST command, the result is displayed in PX (hex pointer) format.
C and C++ only:
  • If you modify the value of %GPR3, then the base register in the program can be lost.

Examples

COBOL:
MOVE name_table TO %GPR15;
C and C++:
%GPR15=name_table;

Refer to the following topics for more information related to the material discussed in this topic.