Am at a loss here as to what I'm doing wrong.  I need to set up a non 
system LX, non space switch PC.  I have one task that executes the functions to 
set it up, and one that will actually execute the PC.  The goofy part about 
this is that I've got code that successfully sets up a space-switch PC routine 
with no problem.  

    The LXRES

    MVC   CRTPLXRE,CRTPLXRS   MOVE LIST TO EXECUTE       
    MVC   CRTPLXR#,=F'1'      WE NEED ONE LX             
    MODESET MODE=SUP                                     
    LXRES LXLIST=CRTPLXR#,                               
      LXSIZE=23,                                     
      REUSABLE=NO,                                   
      SYSTEM=NO,                                     
      MF=(E,CRTPLXRE)                                
    LTR   R15,R15             DID WE GET IT              
    BZ    CRTP0080            YES   

    The code then does three ETDEF's to set up the entry tables.

     MVC   CRTPETDF,CRTPETDE                 
     ETDEF TYPE=SET,HEADER=CRTPETDF,NUMETE=3 

     L     R8,=A(PC1RTN)       ADDR OF PC ROUTINE #1  
     LA    R7,CRTPETDF         BEGIN OF AREA          
     LA    R7,ETDLEN(,R7)      1ST ETE ADDRESS        
                                                  
 ETDEF TYPE=SET,ETEADR=(R7),                      
       AKM=(0:8),                                 
       ASCMODE=PRIMARY,                           
       EKM=(0:8),                                 
       PARM1=(R10),PC=STACKING,                   
       ROUTINE=(R8),                              
       RAMODE=31,                                 
       SSWITCH=NO,                                
       STATE=PROBLEM     

    This last ETDEF is executed three times, with r8 and r7 adjusted each time.

   

     ETCRE is then executed.

     
    ETCRE ENTRIES=CRTPETDF

    

    Lastly ETCON

    MVC   CRTPETCN,CRTPECON   LIST TO EXECUTE STORAGE          
    MVC   CRTPTOK#,=F'1'      SET NBR OF TOKENS                
    ETCON TKLIST=CRTPTOK#,LXLIST=CRTPLXR#,MF=(E,CRTPETCN)      
    LTR   R15,R15                                              
    BZ    CRTP0200            LOOKING GOOD     


    But when the subtask picks up the LX created, and tries to execute the 1st 
PC routine, it abends.  And the really goofy part is that the abend is a B78 in 
the nucleus.  The only thing that I don't check for a valid return code on is 
the ETCRE, but the manual doesn;t show any values other than 00 return codes, 
or an abend.  The code that is setting up the PC is not abending, the code that 
executes the PC is.  Anybody have any ideas?

    --Dave Day                   

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to