//JOBNAME JOB (ACCT,ROOM),'HOTTEL TASKTIME',MSGCLASS=S,CLASS=K
//PROCLIB JCLLIB ORDER=USERID.DVL.PROC
// SET TITLE1='PFX.TASKTIME'
//OUTPUT INCLUDE MEMBER=DESTCH
//*-------------------------------------------------------------------*
//* ASSEMBLY *
//*-------------------------------------------------------------------*
//STEP02 EXEC HLASMCL
//ASM.SYSUT2 DD DSN=&&SYSUT2,UNIT=SYSDA,
// SPACE=(1700,(600,100))
//ASM.SYSPUNCH DD DUMMY
//ASM.SYSIN DD *
TASKTIME TITLE 'GET CPU TIME IN MICROSECONDS SINCE TASK STARTED'
TASKTIME AMODE 31
TASKTIME RMODE ANY
TASKTIME START
*---------------------------------------------------------------------*
* 01 STARTED PIC S9(18) COMP. *
* 01 ENDED PIC S9(18) COMP. *
* 01 ELAPSED PIC S9(18) COMP. *
* 01 RUNNING-TOTAL PIC S9(18) COMP VALUE ZERO. *
* *
* PERFORM X TIMES *
* CALL 'TASKTIME' USING STARTED *
* . . . CODE BEING TIMED *
* CALL 'TASKTIME' USING ENDED *
* COMPUTE ELAPSED = ENDED - STARTED *
* DISPLAY ELAPSED ' CPU MICROSECONDS THIS ITERATION' *
* ADD ELAPSED TO RUNNING-TOTAL *
* END-PERFORM *
* DISPLAY RUNNING-TOTAL ' IS TOTAL CPU FOR ALL ITERATIONS' *
* *
*---------------------------------------------------------------------*
YREGS
TASKTIME CSECT ,
SAVE (14,12),,TASKTIME.&SYSDATE..&SYSTIME
LR R12,R15 BASE REG
USING TASKTIME,R12
L R5,0(R1) POINT TO CALLER'S DBLWORD
XR R15,R15
TIMEUSED STORADR=(5),LINKAGE=SYSTEM,CPU=MIC
RETURN (14,12),RC=(15)
END TASKTIME
//LKED.SYSLMOD DD DSN=USERID.TOOLS.LOAD(TASKTIME),DISP=SHR
//LKED.SYSIN DD *
NAME TASKTIME(R)
Charles Hottel
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]]
On Behalf Of Jake anderson
Sent: Wednesday, March 07, 2012 3:05 AM
To: [email protected]
Subject: CPU timeused
Hello All,
I am looking for a assembler source code which would help in measurng the
CPU time taken for each statement in COBOL. Could anyone advise me if you
have sample Code using which I can modify according to my requirement.
Jake