27.04.2013 Views

MVS Jan 2005.p65 - CBT Tape

MVS Jan 2005.p65 - CBT Tape

MVS Jan 2005.p65 - CBT Tape

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!