MVS Jan 2005.p65 - CBT Tape
MVS Jan 2005.p65 - CBT Tape
MVS Jan 2005.p65 - CBT Tape
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
MVC Ø(4,R1),Ø(R9) Copy parm address<br />
TM Ø(R1),X'8Ø' Last parm?<br />
BO PASTPRMS Yes - we're done<br />
LA R1,4(,R1) Point to next target area<br />
LA R9,4(,R9) Point to next source area<br />
BCT R15,PARMLP Check for more<br />
OI PARMS+255*4,X'8Ø' Set last parm flag<br />
PASTPRMS DS ØH<br />
SR R14,R15 Calculate number of parms<br />
LTR R14,R14 Any parms?<br />
BZ NOPRMS No - bypass initialization<br />
SLL R14,2 Multiply by 4<br />
LR R7,R14 Copy length<br />
LA R6,PARMS Get parm address area address<br />
LR R14,R6 Copy the address<br />
XR R15,R15 Set fill byte<br />
MVCL R6,R14 Clear the area<br />
NOPRMS DS ØH<br />
L R3,ATTAPGM Get pgm name address<br />
L R4,ATTAECB Get ECB area address<br />
L R5,ATTATCB Get TCB area address<br />
L R7,ATTATSKL Get TASKLIB DCB area address<br />
LTR R4,R4 An ECB address?<br />
BZ NODETACH No - DETACH isn't required<br />
LTR R5,R5 A TCB address?<br />
BZ NODETACH No - DETACH isn't required<br />
XC Ø(4,R4),Ø(R4) Clear the ECB<br />
***********************************************************************<br />
* ATTACH the requested program. *<br />
***********************************************************************<br />
MVC ATTACHWK(ATTACHLN),ATTACHLS Copy the model<br />
LTR R7,R7 A TASKLIB DCB?<br />
BNZ TASKLIB1 Yes - issue ATTACH with TASKLIB<br />
ATTACHX EPLOC=(R3), ** SPECIFIED PROGRAM **X<br />
ECB=(R4), ** TARGET ECB **X<br />
MF=(E,PARMS), ** PARM LIST ADDRESS **X<br />
VL=1, ** SET X'8Ø' BIT ON LAST PARM **X<br />
SF=(E,ATTACHWK) ** INDICATE EXECUTE FORM **<br />
LTR R15,R15 All's well?<br />
BNZ RETNEGØ7 No - save RC in ECB area<br />
ST R1,Ø(,R5) Save TCB address<br />
B RETURNOK Return<br />
TASKLIB1 DS ØH<br />
L R7,Ø(,R7) Get TASKLIB DCB address<br />
ATTACHX EPLOC=(R3), ** SPECIFIED PROGRAM **X<br />
ECB=(R4), ** TARGET ECB **X<br />
TASKLIB=(R7), ** TASKLIB DCB **X<br />
MF=(E,PARMS), ** PARM LIST ADDRESS **X<br />
VL=1, ** SET X'8Ø' BIT ON LAST PARM **X<br />
SF=(E,ATTACHWK) ** INDICATE EXECUTE FORM **<br />
© 2005. Reproduction prohibited. Please inform Xephon of any infringement.<br />
37