Restrictions for debugging assembler programs when SET DEFAULT VIEW NOMACGEN is in use
The result can be unpredictable, and an abnormal termination (
ABEND
) might
occur, if you debug an assembler program using SET DEFAULT VIEW NOMACGEN
and both
of the following conditions are met:- The program uses a macro that contains an
EX
instruction, and the program logic goes through this instruction. - You use the
STEP
command to go through the invocation of the macro with theEX
instruction.
In the following example,
ABEND0C1
occurs if you use the STEP
command to go through the invocation of macro EXMAC
at location A ::> A :>
6
. Note: In this example, a target of the
EX
instruction is coded among
other instructions and branched around, and not in the constants' part of the
program. MACRO
EXMAC
XR 14,14
EX 14,EXCLC
MEND
A CSECT
STM 14,12,12(13)
LR 10,15
USING A,10
ST 13,SAVEAREA+4
LA 11,SAVEAREA
LR 13,11
EXMAC
B RETURN
EXCLC CLC TARGET(0),SOURCE
RETURN DS 0H
L 13,SAVEAREA+4
LM 14,12,12(13)
XR 15,15
BR 14
SAVEAREA DC 18F'0'
SOURCE DS C
TARGET DS C
END A
To avoid this kind of failure, set a breakpoint on the following
statement and use the GO
command instead of the STEP
command to go
through the invocation of the macro with the EX
instruction.