Why does my program abort with 0C5 addressing error immediately when it is called from COBOL?
The default COBOL compile option under
Enterprise Developer is NOAMODE. This means any parameters passed to an assembler module will be in native PC addressing format and will generate
an OC5 addressing error immediately at CALL time. To enable 370 mainframe style addressing in your COBOL program you must
use the AMODE(24) or AMODE(31) compiler directive
Why does my program abend immediately when it is called from COBOL?
An abend can be caused by invalid 31 bit addresses being passed to a 24 bit assembler program. In this case, you should set
the DATA(24) directive to force all COBOL working storage data addresses to be 24 bits.
What is the fastest way to get help debugging an abend in a large complex application?
Generating a GTF instruction trace might be the fastest way to find the problem. From a GTF trace file, you can determine
the failing program, and the exact instruction path followed until the abend. Remember that the trace file gives the actual
370 machine code that is being emulated. This same machine code appears in assembler listing (.PRN) files and can be searched
for with any text editor.