Restrictions for debugging self-modifying assembler code
z/OS® Debugger defines two types of self-modifying code: detectable and non-detectable. Detectable self-modifying code is code that either:
- Modifies an instruction via a direct reference to a label on the
instruction or on an EQU * or DS 0H immediately preceding the instruction.
For example:
Inst1 NOP Label1 MVI Inst1+1,X'F0'
- Uses the EQAMODIN macro instruction to identify the instruction
being modified. For example:
EQAModIn Inst1 Inst1 NOP Label1 LA R3,Inst1 MVI 0(R3),X'F0'
Any self-modifying code that does not meet one of these criteria is classified as non-detectable.