I have used this for many many years

         L     R9,PSATOLD-PSA       -> TCB   
         L     R9,TCBJSCB-TCB(,R9)  -> JSCB     
         L     R9,JSCBPSCB-IEZJSCB(,R9) -> PSCB     
         USING PSCB,R9       
         L     R8,PSCBRLGB           -> RELOGON BUFFER       
         L     R8,RLGBECT-RLGB(,R8)  -> ECT      
         USING ECT,R8          

         IHAPSA ,        
         IKJTCB ,   
         IEZJSCB ,       
         IKJPSCB ,    
         IKJRLGB ,          
         IKJECT ,                

On Thu, 25 Feb 2016 19:57:22 -0600 Anthony Fletcher <[email protected]>
wrote:

:>When running a TSO program it requires a CPPL. When TSO is started by using 
the TMP, a CPPL is provided, and it can be accessed.
:>One of the fields that is a supported programming interface is the ECT 
(Environment Control Table), and it can be updated.
:>
:>If a program or command is indirectly invoked eg from ISPF then the CPPL  may 
not be directly available and so will have to be constructed. One of the fields 
required in the CPPL is the ECT.
:>
:>For many many years it so happened that the ECT pointer was 8 bytes back from 
the UPT, so code like the following could be used to find the ECT pointer and 
store it in the CPPLECT field.
:>
:>    L     R1,X'21C'           POINT TO TCB                        
:>
:>         ICM   R1,7,X'0B5'(R1)     POINT TO JSCB                         
:>
:>         L     R1,X'108'(,R1)      POINT TO PSCB                         
:>
:>         ST    R1,CPPLPSCB         SAVE PSCB POINTER                     
:>
:>         L     R1,X'034'(,R1)      POINT TO UPT                          
:>
:>         ST    R1,CPPLUPT          SAVE UPT POINTER                      
:>
:>         LA    R1,0(,R1)           CLEAR HIGH ORDER BYTE                 
:>
:>         SH    R1,=H'8'            ASSUME ECT POINTER AT UPT - 8         
:>
:>         MVC   CPPLECT,0(R1)       PICK UP ECT POINTER             
:>
:>With the application of the following PTFs, for the z/OS 2.1 system at least, 
this no longer works.
:>UA80338 UA80339 UA80340  (which ever is appropriate for the z/OS version).
:>For some reason it still works with the z/OS 1.13 version.
:>These are security/integrity fixes, hence the APAR is not shown. 
:>These PTFs are unlikely to be marked PE, so users that have old assembler 
programs should check to see whether any of them use this method of locating 
the ECT.
:>In the case of z/OS 1.13 which did not abend, it may have found storage that 
it wsa allowed to address but it may not be a real ECT, and so an overlay may 
occur. Future maintenance to TMP modules may well cause the ECT to be in a 
different location to what it has been in for 25-30 years so it is advisable to 
check any assembler programs that might be using this technique and change to 
using the correct method.
:>
:>Documented way is this:                                                  
:>
:>            The URLs are not hyperlinks so they have to be pasted into a 
browser. The fact that the documents are for z/OS 2.2 does not matter the steps 
are applicable to z/OS 1.13 and z/OS 2.1.                                       
                     
:>
:>ECT:                                                                     
:>
:>---------                                                                
:>
:>http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v 
:>
:>2r2.ikjd200/ikjd200100.htm?lang=en                                       
:>
:>                                                                         
:>
:>Pointed to by:                                                           
:>
:>CPPLECT field of the CPPL                                                
:>
:>TPLECT field of the TPL                                                  
:>
:>LWAPECT field of the LWA                                                 
:>
:>                                                                         
:>
:>LWA:                                                                     
:>
:>---------                                                                
:>
:>http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v 
:>
:>2r2.ikjd200/ikjd200292.htm?lang=en                                       
:>
:>                                                                         
:>
:>Pointed to by:                                                           
:>
:>ASXBLWA field of the ASXB                                                
:>
:>JSXL communication field of the JSXL                                     
:>
:>                                                                         
:>
:>ASXB:                                                                    
:>
:>-----------                                                              
:>
:>http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v 
:>
:>2r2.iead100/iead10094.htm?lang=en                                        
:>
:>                                                                         
:>
:>Pointed to by:                                                           
:>
:>ASCBASXB                                                                 
:>
:>                                                                         
:>
:>ASCB:                                                                    
:>
:>-----------                                                              
:>
:>http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v 
:>
:>2r2.iead100/iead10059.htm?lang=en                                        
:>
:>                                                                         
:>
:>Pointed to by:                                                           
:>
:>CVTASCBH and CVTASCBL fields of the CVT data area                        
:>
:>PSAANEW field of the PSA data area                                       
:>
:>PSAAOLD field of the PSA data area (Master's ASCB)                       
:>
:>...                                                                      
:>
:>                                                                         
:>
:>PSA:                                                                     
:>
:>---------                                                                
:>
:>http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v 
:>
:>2r2.iead300/iead300767.htm?lang=en                                       
:>
:>                                                                         
:>
:>PSSANEW must not be used, so finally we've reached PSAAOLD.   
:>
:>I am providing this information so that sites can avoid being caught by the 
problem. I don't want to know anything, and I do not intend to get into a 
discussion about why the old method used to work, or why it doesn't now. 
:>Use this information or ignore it - your choice.
:>
:>----------------------------------------------------------------------
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to [email protected] with the message: INFO IBM-MAIN

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to