INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

0C7 abend running PL/I MAIN program

0C7 abend running PL/I MAIN program

(OP)
Our PL/I MAIN programs abend with the following:

SYSTEM COMPLETION CODE=0C7  REASON CODE=00000000                 
 TIME=14.51.49  SEQ=02875  CPU=0000  ASID=0054                   
 PSW AT TIME OF ERROR  078D0000   91C00814  ILC 6  INTC 07       
   ACTIVE LOAD MODULE           ADDRESS=11C00808  OFFSET=0000000C
   NAME=PLP01                                                    
   DATA AT PSW  11C0080E - F0F2F1F1  F2F5F3F8  F0F3F0F5          
   GR 0: FD000008   1: 00006FF8                                  
      2: 00000040   3: 008CD9D4                                  
      4: 008CD9B0   5: 008FF290                                  
      6: 008BAFE0   7: FD000000                                  
      8: 008C3EC8   9: 008D0CD0                                  
      A: 00000000   B: 008FF290                                  
      C: 83305B12   D: 00006F60                                  
      E: 80FDDF50   F: 91C00808                                  

 If I call the PL/I program as a sub program from a COBOL MAIN program it works ok.

I have been testing using a simple PL/I program containing the following code:

PLI001: PROC OPTIONS(MAIN);
                           
                           
  PUT SKIP LIST('HELLO');  
                           
  END PLI001;  

We are using Z/OS 1.8 and Enterprise PL/I for Z/OS 3.5              

RE: 0C7 abend running PL/I MAIN program

Can you get an assembly (machine) code listing of the program during compilation?

RE: 0C7 abend running PL/I MAIN program


Enabling a load module to be called as either stand-alone or subroutine requires some special gyrations in the Linkage Editor.

Not being an expert in LKED, I can only advise you to see if you can find one locally.
 

Frank Clarke
--America's source for adverse opinions since 1943.

RE: 0C7 abend running PL/I MAIN program

(OP)
Thanks for the replies. I am trying to run the program as a MAIN program (which fails). While trying to see what was wrong I discovered that it would run if I called the PL/I program from a Cobol MAIN program. However this is not a satisfactory solution.

Here is the pseudo assembly listing from my compilation. I hope it helps.

0 Compiler Source
0  Line.File
0     1.0      PLI001: PROC OPTIONS(MAIN);
      2.0
      3.0
      4.0        PUT SKIP LIST('HELLO');
      5.0
      6.0        END PLI001;
15655-H31  IBM(R) Enterprise PL/I for z/OS       PLI001: PROC OPTIONS(MAIN                      2009.03.04 15:12:23   Page     5

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

                           Timestamp and Version Information
 000000  F2F0  F0F9                                       =C'2009'           Compiled Year
 000004  F0F3  F0F4                                       =C'0304'           Compiled Date MMDD
 000008  F1F5  F1F2  F2F3                                 =C'151223'         Compiled Time HHMMSS
 00000E  F0F3  F0F5  F0F0                                 =C'030500'         Compiler Version

 000014  002C  ****                                       Service String     20070315
                           Timestamp and Version End

15655-H31  IBM(R) Enterprise PL/I for z/OS       PLI001: PROC OPTIONS(MAIN  : PLI001            2009.03.04 15:12:23   Page     6

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

 000000                    000001 |        PLI001   DS    0D
 000000  47F0  F024        000001 |                 B     36(,r15)
 000004  01C3C5C5                                         CEE eyecatcher
 000008  00000130                                         DSA size
 00000C  00000130                                         =A(PPA1-PLI001)
 000010  47F0  F001        000001 |                 B     1(,r15)
 000014  58F0  C31C        000001 |                 L     r15,796(,r12)
 000018  184E              000001 |                 LR    r4,r14
 00001A  05EF              000001 |                 BALR  r14,r15
 00001C  00000000                                         =F'0'
 000020  A7F4  000C        000001 |                 J     *+24
 000024  90E7  D00C        000001 |                 STM   r14,r7,12(r13)
 000028  58E0  D04C        000001 |                 L     r14,76(,r13)
 00002C  4100  E130        000001 |                 LA    r0,304(,r14)
 000030  5500  C314        000001 |                 CL    r0,788(,r12)
 000034  A724  FFF0        000001 |                 JH    *-32
 000038  58F0  C280        000001 |                 L     r15,640(,r12)
 00003C  90F0  E048        000001 |                 STM   r15,r0,72(r14)
 000040  9210  E000        000001 |                 MVI   0(r14),16
 000044  50D0  E004        000001 |                 ST    r13,4(,r14)
 000048  18DE              000001 |                 LR    r13,r14
 00004A  0D30              000001 |                 BASR  r3,0
 00004C                    End of Prolog

 00004C  5860  30B8        000000 |                 L     r6,=A(*PLI0012)(,r3,184)
 000050  4170  30CC        000000 |                 LA    r7,=A(@CONSTANT_AREA)(,r3,204)
 000054  4100  0000        000001 |                 LA    r0,0
 000058  5000  D0A0        000001 |                 ST    r0,_Sfi(,r13,160)
 00005C  5000  D0A4        000001 |                 ST    r0,_Sfi(,r13,164)
 000060  5810  30B4        000001 |                 L     r1,=F'1573248'
 000064  5010  D0A8        000001 |                 ST    r1,_Sfi(,r13,168)
 000068  5000  D0B4        000001 |                 ST    r0,_Sfi(,r13,180)
 00006C  1806              000001 |                 LR    r0,r6
 00006E  5000  6010        000001 |                 ST    r0,_Pfo_4(,r6,16)
 000072  4100  D0B8        000004 |                 LA    r0,_temp1(,r13,184)
 000076  5000  D128        000004 |                 ST    r0,_temp2(,r13,296)
 00007A  A708  4A48        000004 |                 LHI   r0,H'19016'
 00007E  4000  D0E4        000004 |                 STH   r0,_temp1(,r13,228)
 000082  5800  6004        000004 |                 L     r0,SYSPRINT(,r6,4)
 000086  5000  D124        000004 |                 ST    r0,_temp2(,r13,292)
 00008A  4100  0001        000004 |                 LA    r0,1
 00008E  5000  D0B8        000004 |                 ST    r0,_temp1(,r13,184)
 000092  4100  D120        000004 |                 LA    r0,_temp2(,r13,288)
 000096  58F0  30C0        000004 |                 L     r15,=V(IBMQOFNT)(,r3,192)
 00009A  4110  D098        000004 |                 LA    r1,#MX_TEMP1(,r13,152)
 00009E  5000  D098        000004 |                 ST    r0,#MX_TEMP1(,r13,152)
 0000A2  05EF              000004 |                 BALR  r14,r15
 0000A4  4100  6008        000004 |                 LA    r0,_Dsc000001(,r6,8)
 0000A8  5000  D0D4        000004 |                 ST    r0,_temp1(,r13,212)
 0000AC  4100  700C        000004 |                 LA    r0,'..'(,r7,12)
 0000B0  5000  D0D0        000004 |                 ST    r0,_temp1(,r13,208)
 0000B4  4100  7010        000004 |                 LA    r0,'HELLO'(,r7,16)
 0000B8  5000  D0CC        000004 |                 ST    r0,_temp1(,r13,204)
 0000BC  9220  D0E6        000004 |                 MVI   _temp1(r13,230),32
 0000C0  4100  D120        000004 |                 LA    r0,_temp2(,r13,288)
15655-H31  IBM(R) Enterprise PL/I for z/OS       PLI001: PROC OPTIONS(MAIN  : PLI001            2009.03.04 15:12:23   Page     7

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

 0000C4  58F0  30C4        000004 |                 L     r15,=V(IBMQOFPT)(,r3,196)
 0000C8  4110  D098        000004 |                 LA    r1,#MX_TEMP1(,r13,152)
 0000CC  5000  D098        000004 |                 ST    r0,#MX_TEMP1(,r13,152)
 0000D0  05EF              000004 |                 BALR  r14,r15
 0000D2  9201  D0E6        000004 |                 MVI   _temp1(r13,230),1
 0000D6  4100  D120        000004 |                 LA    r0,_temp2(,r13,288)
 0000DA  58F0  30C4        000004 |                 L     r15,=V(IBMQOFPT)(,r3,196)
 0000DE  4110  D098        000004 |                 LA    r1,#MX_TEMP1(,r13,152)
 0000E2  5000  D098        000004 |                 ST    r0,#MX_TEMP1(,r13,152)
 0000E6  05EF              000004 |                 BALR  r14,r15
 0000E8                    000006 |        @1L1     DS    0H
 0000E8  58F0  30C8        000006 |                 L     r15,=V(IBMQEFSH)(,r3,200)
 0000EC  05EF              000006 |                 BALR  r14,r15
 0000EE                    000006 |        @1L2     DS    0H

 0000EE                    Start of Epilog
 0000EE  58D0  D004        000006 |                 L     r13,4(,r13)
 0000F2  58E0  D00C        000006 |                 L     r14,12(,r13)
 0000F6  9827  D01C        000006 |                 LM    r2,r7,28(r13)
 0000FA  051E              000006 |                 BALR  r1,r14
 0000FC  0707              000006 |                 NOPR  7
 0000FE  0000

 000100                    Start of Literals
 000100  00180180                                         =F'1573248'
 000104  00000000                                         =A(*PLI0012)
 000108  00000160                                         =A(@CONSTANT_AREA)
 00010C  00000000                                         =V(IBMQOFNT)
 000110  00000000                                         =V(IBMQOFPT)
 000114  00000000                                         =V(IBMQEFSH)
 000118                    End of Literals

                           ***   General purpose registers used: 1101101100001111
                           ***   Floating point  registers used: 1111111100000000
                           ***   Size of register spill area: 512(max) 0(used)
                           ***   Size of dynamic storage: 304
                           ***   Size of executable code: 254
                           ***   CSECT Offset: 72 : 0x48

                           Constant Area
 000000  0008E2E8 E2D7D9C9 D5E30000 08000000    |..SYSPRINT......|
 000010  C8C5D3D3 D6                            |HELLO           |
15655-H31  IBM(R) Enterprise PL/I for z/OS       PLI001: PROC OPTIONS(MAIN                      2009.03.04 15:12:23   Page     8

 OFFSET OBJECT CODE        LINE#  FILE#    P S E U D O   A S S E M B L Y   L I S T I N G

                           PPA1: Entry Point Constants
 000000  1CCEA166                                         =F'483303782'      Flags
 000004  000001A0                                         =A(PPA2-PLI001)
 000008  00000170                                         =A(PPA3-PLI001)
 00000C  00000000                                         =F'0'              No EPD
 000010  FFC00000                                         =F'-4194304'       Register save mask
 000014  40000000                                         =F'1073741824'     Member flags
 000018  90                                               =AL1(144)          Flags
 000019  000000                                           =AL3(0)            Callee's DSA use/8
 00001C  0040                                             =H'64'             Flags
 00001E  0012                                             =H'18'             Offset/2 to CDL
 000020  D00000A0                                         =F'-805306208'     State variable location
 000024  5000007F                                         =F'1342177407'     CDL function length/2
 000028  FFFFFED0                                         =F'-304'           CDL function EP offset
 00002C  38260000                                         =F'942014464'      CDL prolog
 000030  40080077                                         =F'1074266231'     CDL epilog
 000034  00000000                                         =F'0'              CDL end
 000038  0006  ****                                       AL2(6),C'PLI001'
                           PPA1 End

                           PPA3: Truncated Debug Unit Block
 000000  000001C0                                         =A(Statement table)
 000004  00000000                                         =F'0'              Reserved
                           PPA3 End

                           PPA2: Compile Unit Block
 000000  0B00  3203                                       =F'184562179'      Flags
 000004  FFFF  FE18                                       =A(CEESTART-PPA2)
 000008  0000  0000                                       =F'0'              No PPA4
 00000C  FFFF  FE18                                       =A(TIMESTMP-PPA2)
 000010  0000  0000                                       =F'0'              No primary
 000014  0200  0000                                       =F'33554432'       Flags
                           PPA2 End
15655-H31  IBM(R) Enterprise PL/I for z/OS       PLI001: PROC OPTIONS(MAIN                      2009.03.04 15:12:23   Page     9

                                   E X T E R N A L   S Y M B O L   D I C T I O N A R Y

           NAME        TYPE  ID  ADDR    LENGTH            NAME        TYPE  ID  ADDR    LENGTH

           *PLI0011     SD    1 000000   000200            *PLI0012     SD    2 000000   000064
           PLI001       LD    0 000048   000001            CEESG011     ER    3 000000
           IBMQOFNT     ER    4 000000                     IBMQOFPT     ER    5 000000
           IBMQEFSH     ER    6 000000                     CEESTART     ER    7 000000
           IBMPOFCX     ER    8 000000                     PLI001       ER    9 000000
           CEEMAIN      SD   10 000000   00000C            IBMPINPL     ER   11 000000

                              * * * * *   E N D   O F   C O M P I L A T I O N   * * * * *
 

RE: 0C7 abend running PL/I MAIN program

The advice is still the same: ask one of your system programmers for help.

Frank Clarke
--America's source for adverse opinions since 1943.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Resources

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close