IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

ABENDED WITH CODE : STOR - OPCODE NOT FOUND.


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
mnrajamca

New User


Joined: 22 Jun 2007
Posts: 3
Location: andhra pradesh

PostPosted: Sat May 09, 2009 2:39 pm
Reply with quote

Hi,

I converted successfully Assembler subroutine with AMODE 31 compiler option.

when I was calling(staic call) Assembler subroutine routine from CICS PROGRAM, facing the above abend. Could any one help me in solving the above issue.

Thanks in advance.

Cheers,
Raja
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Sat May 09, 2009 3:08 pm
Reply with quote

No message number?
Abended in the newly converted Assembler routine?
We need more information.....
Is STOR the abcode?
Or is "STOR - OPCODE NOT FOUND" a generated message?
Back to top
View user's profile Send private message
mnrajamca

New User


Joined: 22 Jun 2007
Posts: 3
Location: andhra pradesh

PostPosted: Mon May 11, 2009 1:04 pm
Reply with quote

Thanks for your reply. it is needful to us.

This is online cics program which is calling assembler subroutine. Here I am giving information.

in xpeditor ... this is abend aid information

The transaction was terminated because Xpediter/CICS intercepted a Storage
Violation within program SUBASM. The Storage Violation occurred because:
an invalid opcode was encountered.

The contents of the following report reflect the conditions present at the
time of the Storage Violation.


Next Sequential Instruction

The next sequential instruction to be executed in program SUBASM was at
displacement 0000003C.

The program was compiled on 04MAY2009 and is 000414 bytes long. It is part
of load module PMCS01C which was loaded from SLCDEVNT.DMIC.SLC1.DEVEL.LO2.
It was link edited on 04MAY2009 . The load module is 006368 bytes long. The
program AMODE is 31. The program RMODE is ANY.


The execution key for this program was USER_KEY.


Last Call or EXEC CICS Command

The last call or 'EXEC CICS' command was issued from program SUBASM at
displacement 0000003A.

-------------------------------------------------------------------------------- while i was using xpeditor i got stuck in this line
while i was doing testing(xped) , i got stuck in below statement.
+ BALR 14,15 OBTAIN STORAGE @F8E1S @L



SLCDEVNT.DMIC.SLC1.DEVEL.LO2

Code:
+         DC    AL2(DFHEIEND-DFHEISTG)  LENGTH OF STORAGE           @L
+         DC    H'0'                Parameter list version number   @P
+         L     15,=V(DFHEAI0)                               @F8E1S @L
+         BALR  14,15               OBTAIN STORAGE           @F8E1S @L  Here**
+         ST    13,DFHEISA-DFHEISTG+4(,1)  CHAIN TO CALLER'S @F8E1S @L
+         LR    15,1                ADDRESS OF STORAGE       @F8E1S @L
+         ICM   1,B'1111',24(13)    RESTORE INPUT REGISTER 1 @F8E1S @L
+         BZ    *+10                IF ARGUMENT LIST EXISTS         @L
+         MVC   DFHEIBP-DFHEISTG(L'DFHEIBP+L'DFHEICAP,15),0(1)       
+                                   THEN COPY EIB AND CA PTRS       @L
+*********************************************************************



-----------------------------------------------------------------------------
this is the information of online program .here i am giving number 10058 through transaction.


Code:

05  STD-NUM-TEST.                                             
    07  STD-NUM-FIELD       PIC S9(16).                       
    07  FILLER              PIC X(2).                         
    07  STD-NUM-CODE        PIC X.                             
        88  STD-NUM-UNSIGNED            VALUE ' '.             
        88  STD-NUM-SIGNED              VALUE 'S'.             
        88  STD-NUM-IS-VALID            VALUE 'G'.             
        88  STD-NUM-IS-BAD              VALUE 'B'.             
    07  STD-NUM-DISPLAY     PIC X(16).                         


CALL 'SUBASM' USING STD-NUM-TEST.

*  THIS IS A STATIC CALL SUB PROGRAM AND SHOULD BE ASSEMBLED WITHOUT       
*  USING THE CICS TRANSLATOR. IT IS LINK EDITED WITH THE CALLING           
*  PROGRAM, WHICH SHOULD BE COBOL 2 OR BETTER.                         
*----------------------------------------------*                       
SUBASM  CSECT                                                           
SUBASM  AMODE 31       SELECT 31 BIT ADDRESSING MODE                   
SUBASM  RMODE ANY      SELECT ANY RESIDENCY MODE                       
         USING *,R15                                                   
         DS    0H                                                       
         STM   R14,R12,12(R13)          SAVE CALLING PROGRAM REGISTERS 
         B     STRT0001                                                 
         DC    CL8'PMPM02A'                                         
         DC    C'&SYSTIME'                                             
         DC    C' '                                                     
         DC    C'&SYSDATE'                                             
SAVE18F  DC    18F'0'                                                   
**                                                                     
STRT0001 DS    0H                                                               
         LR    R12,R15                   LOAD BASE REGISTER             
         DROP  R15                                                     
         USING SUBASM,R12             R12 IS BASE REG                 
         LA    R15,SAVE18F              POINT TO SAVE AREA             
         ST    R13,4(0,R15)             CHAIN SAVE AREAS               
         ST    R15,8(0,R13)                    X                       
         LR    R13,R15                         X                       
**                                                                     
         L     R5,0(,R1)                LOAD PARM ADDRESS               
         TRT   1(16,R5),TRTABLE2       * * * * * * * * * * *             
         LR    R10,R1                  *                               
         SR    R10,R5                  * FIND ACTUAL FIELD LENGTH       
         CH    R10,=H'17'              *                               
         BL    LENOK                   *                               
         LH    R10,=H'16'              * * * * * * * * * * *           
**                                                                     
    ------------------------------------------------------------             00001000
**                                                                     
RTRN     DS    0H                                                       
         L     R13,4(,R13)                                             
         LM    R14,R12,12(R13)          RESTORE REGS                   
         SR    R15,R15                                                 
         BR    14                                                       


         EJECT                                                         
 --------------
---------------
         LTORG       

        END
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Mon May 11, 2009 2:11 pm
Reply with quote

L R5,0(,R1) LOAD PARM ADDRESS
load the first four bytes of
07 STD-NUM-FIELD PIC S9(16).
into R5?

TRT 1(16,R5),TRTABLE2
why and what is TRTABLE2?

CH R10,=H'17'
And the length shouldn't be 35?

program SUBASM was at displacement 0000003C.
And what instruction was at 3C?
You should have the assembler listing.

What macro is the expansion in SLCDEVNT.DMIC.SLC1.DEVEL.LO2?
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Mon May 11, 2009 3:42 pm
Reply with quote

Because the comments indicate that this sub-program should NOT be Assembled using the CICS Translator, you may find that R15 may contain junk, as the VCON for "DFHEAI0" has not be resolved by the Linkage Editor at time of Assembly.

Check your Linkage Editor for any error-message which indicates "Unresolved External" entries.

Why are you Assembling this sub-program using the CICS Translator first?

The comments/instructions say that you should not.

Also, if I were you, I would pass reuseable storage from COBOL to be used by Assembler as its own working-storage. If you ever migrate to an "OPENAPI" and/or "THREADSAFE" environment (which incidentally, is IBM's long term strategy), a statically-called program using its own program-storage (IE: Non-Reentrant), will bite you, if the program is running off an L8 and/or L9 TCB.

Regards,
Back to top
View user's profile Send private message
mnrajamca

New User


Joined: 22 Jun 2007
Posts: 3
Location: andhra pradesh

PostPosted: Sun May 17, 2009 1:36 pm
Reply with quote

Hi all,

thanks for your response. Please help me this issue.

In change man, it works fine while demoting both program and subroutine (using the production version). But it got abended with STOR- OPCODE NOT FOUND while promoting both program and subroutine.

while i was expediting the assembler subroutine(static call) ,macro DFHEIENT is expanded before executing the program. In DFHEIENT expansion, i got stuck at this below statement
L 15,=V(DFHEAI0) @F8E1S @L
+ BALR 14,15 Here we are using Z0S 1.73 COMPILER

THIS IS THE REMAINING CODE

ERROR DS 0H
MVI 18(R5),C'B' * TELL CALLER IT"S BAD
B RTRN *
**
DS 0H
MVCIT MVC 19(1,R5),0(R14) *** MOVE DISPLAY DATA IN
**
**
DS 0D
TRTABLE DC 256X'FF'
ORG TRTABLE+C'0' * ONLY ACCEPT 0-9
DC 10X'00'
ORG
TRTABLE2 DC 256X'00'
ORG TRTABLE2+C' ' * LOCATE FIELD LENGTH (1ST BLNK)
DC C' '
ORG
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Sun May 17, 2009 5:18 pm
Reply with quote

The previously posted program's source-code comments indicate that you should NOT pass this program through the CICS translator, but again, you're pointing to a failed instruction within the expanded DFHEIENT macro, which is a CICS/Assembler macro.

Please review the procedure that you're using to Assemble/Link this sub-program and ensure that you use the procedure which is for a non-CICS Assembly/Link (IE: BATCH).

Regards,
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts How I Found a Bug in a FORTRAN Compiler All Other Mainframe Topics 4
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts Reorg abended with REASON=X'00E40347' DB2 2
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
Search our Forums:

Back to Top