钱
新的用户
加入:2021年1月15日 帖子:1 位置:PL
|
|
|
|
当我想将当前指令的绝对地址传递给TSO 测试 LIST子命令时,我遇到了类似的挑战。我不想使用“ LIST +0 I”,因为我也希望在输出中使用绝对地址。因此,我必须解析LISTPSW输出以获取当前地址,然后将其传递给LIST。我用嵌套的CLIST解决了它。
The JCL runs a TSO 测试 script that executes a 清单called STEP at each breakpoint.
码: |
BROWSE ZMONEY.JCL(TEST) - 01.92 线0000000000列001080
Command ===> Scroll ===> PAGE
**************************************数据顶部************** ********************
//ZMONEYT 工作(AO13ICC0),'TEST',
// CLASS = C,MSGCLASS = X,COND =(4,LT),
// MSGLEVEL=(1,1),REGION = 0M,NOTIFY = ZMONEY,
// TIME=1440,LINES=(999999,WARNING),
// USER = ZMONEY
// **************************************************** **********************
// STD1 OUTPUT CLASS=X
// **************************************************** **********************
// STEP010 执行PGM = IKJEFT01,DYNAMNBR = 20
// SYSTSPRT DD SYSOUT =(,),OUTPUT=(*.STD1)
// SYSTSIN DD *
测试 'ZMONEY.PLI.LOAD(LAB)'
哪里
AT +40:+B0 (EX STEP)
AT +60:+B0 (EX STEP)
GO
**********************************数据底部*************** *****************
|
The STEP 清单parses the LISTPSW output and executes a 清单called LI, passing it the address in the PSW.
码: |
BROWSE ZMONEY.STEP.CLIST 线0000000000列001080
Command ===> Scroll ===> PAGE
**************************************数据顶部************** ********************
组&SYSOUTTRAP = 3
LISTPSW
写&SYSOUTLINE1
写&SYSOUTLINE2
写&SYSOUTLINE3
写
组&SYSOUTTRAP = 0
/ *解析PSW中的地址并通过LI
李LI&SUBSTR(50:58,&SYSOUTLINE3)' LIST
写
清单0R:15R
写
GO
**********************************数据底部*************** *****************
The LI 清单passes the address to the TSO 测试 LIST subcommand.
码:
BROWSE ZMONEY.LI.CLIST 线0000000000列001080
Command ===> Scroll ===> PAGE
**************************************数据顶部************** ********************
PROC 1地址
LIST &ADDR.. I
**********************************数据底部*************** *****************
|
我在输出中得到绝对地址。
码: |
SDSF输出显示ZMONEYT J0051142 DSID 102 LINE 0 COLUMNS 02- 81
模式数据
COMMAND INPUT ===> SCROLL ===> PAGE
**************************************数据顶部************** ********************
准备
测试 'ZMONEY.PLI.LOAD(LAB)'
测试
哪里
24A01EF0。位于+0 IN 实验室 .CEESTART位于TCB下,位于8A44C8。
测试
AT +40:+B0 (EX STEP)
IKJ57305I在+ 04范围开始时没有断点+40 +
IKJ57305I无效的操作码
测试
AT +60:+B0 (EX STEP)
IKJ57305I没有+ 4A范围开始的断点+60 +
IKJ57305I无效的操作码
测试
GO
IKJ57024I AT +40
IKJ57652I PSW位于8A46E0
XRXXXTIE KEY XMWP AS CC PROGMASK EA BA INSTR ADDR
00000111 8 1101 00 00 0110 0 1 24A01E18
LIST 24A01E18。 I
24A01E18。 BC 15,36(,R15) 00000000
0R 00022C4C 1R 00029928 2R 00029928 3R 24EF7968
4R 24A01EE4 5R 00000000 6R 24EF8967 7R 00000001
8R 00029808 9R 00000008 10R 00000000 11R 000510B0
12R 0002AC30 13R 000511C0 14R A4EF809E 15R 24A01E18
IKJ57024I AT +4从+60
IKJ57652I PSW位于8A46E0
XRXXXTIE KEY XMWP AS CC PROGMASK EA BA INSTR ADDR
00000111 8 1101 00 00 0110 0 1 24A01E3C
LIST 24A01E3C。 I
24A01E3C。 STM R14,R4,12(R13) 00000000
0R 00022C4C 1R 00029928 2R 00029928 3R 24EF7968
4R 24A01EE4 5R 00000000 6R 24EF8967 7R 00000001
8R 00029808 9R 00000008 10R 00000000 11R 000510B0
12R 0002AC30 13R 000511C0 14R A4EF809E 15R 24A01E18
IKJ57024I AT +8从+60
IKJ57652I PSW位于8A46E0
XRXXXTIE KEY XMWP AS CC PROGMASK EA BA INSTR ADDR
00000111 8 1101 00 00 0110 0 1 24A01E40
LIST 24A01E40。 I
24A01E40。 L R14,76(,R13) 00000000
0R 00022C4C 1R 00029928 2R 00029928 3R 24EF7968
4R 24A01EE4 5R 00000000 6R 24EF8967 7R 00000001
8R 00029808 9R 00000008 10R 00000000 11R 000510B0
12R 0002AC30 13R 000511C0 14R A4EF809E 15R 24A01E18
...
IKJ57024I AT +46从+60
IKJ57652I PSW位于8A46E0
XRXXXTIE KEY XMWP AS CC PROGMASK EA BA INSTR ADDR
00000111 8 1101 00 00 0110 0 1 24A01E7E
LIST 24A01E7E。 I
24A01E7E。 BALR R1,R14 00000000
0R 00000000 1R A4EADEF6 2R 00029928 3R 24EF7968
4R 24A01EE4 5R 00000000 6R 24EF8967 7R 00000001
8R 00029808 9R 00000008 10R 00000000 11R 000510B0
12R 0002AC30 13R 000511C0 14R A4EF809E 15R 00000000
IKJ57023I PROGRAM UNDER 测试 HAS TERMINATED NORMALLY+
IKJ57023I断点设置仍然有效
测试
结束
********************************数据底部*************** *****************
|
这是加载模块的PL / I源。
码: |
BROWSE ZMONEY.PLI(LAB) - 01.05 线0000000000列001080
Command ===> Scroll ===> PAGE
**************************************数据顶部************** ********************
HELLO: PROCEDURE OPTIONS (MAIN); 00010003
DCL ABCDEFG PTR; 00020005
ABCDEFG = ADDR(ABCDEFG); 00021005
END; 00030003
**********************************数据底部*************** *****************
|
这是我用来编译/链接的JCL。
码: |
BROWSE U2D4705.JCL(PLITEST) - 01.47 线0000000000列001080
Command ===> Scroll ===> PAGE
**************************************数据顶部************** ********************
// ZMONEYP JOB (AO13ICC0),'ZMONEYP',
// CLASS=C,MSGCLASS=X,
// COND=(4,LT),
// NOTIFY = ZMONEY,MSGLEVEL =(1,1),REGION=0M,
// TIME=1440,LINES=(999999,WARNING)
// **************************************************** **********************
// 组=LAB SOURCE NAME
// 组PGM=LAB LOAD MODULE NAME
// SET PLICOMP ='SYS1.VAPLI.V3R5.SIBMZCMP'PLI编译器LOADLIB
// SET DTLIB ='EQAW.SEQAMOD' DEBUG TOOL LOADLIB
// 组LEHLQ='SYS1' LE HIGH LVL资格赛
// 组联合开发=SYSDA UNIT FOR TEMP FILES
// **************************************************** **********************
// COMPILE EXEC PGM = IBMZPLI,REGION = 0M,
// PARM =('+DD:OPTIONS')
//选项 DD *
MAP,OBJECT,LIST
/*
// SYSUT1 DD SPACE=(CYL,(5,2),,CONTIG),DCB = BLKSIZE = 1024,UNIT =&UNITDEV
// SYSPRINT DD SYSOUT = *
// STEPLIB DD DSN =&PLICOMP,DISP=SHR
// DD DSN=&LEHLQ..SCEERUN,DISP = SHR
// SYSLIB DD DISP = SHR,DSN = ZMONEY.PLINCL
// SYSIN DD DSN =ZMONEY.PLI(&MEM),DISP=SHR
// SYSLIN DD DSN = ZMONEY.PLI.OBJ(&MEM),DISP=SHR
// **************************************************** **********************
//链接 EXEC PGM = HEWL,PARM ='XREF,LET,LIST,CALL',区域= 2M
// SYSUT1 DD DSN=&&SYSUT1,SPACE=(1024,(120,120),,,ROUND),
// UNIT = SYSDA,DCB = BUFNO = 1
// SYSPRINT DD SYSOUT = *
// SYSLIN DD DSN = ZMONEY.PLI.OBJ(&MEM),DISP=(OLD,KEEP)
// SYSLIB DD DSN = SYS1.SCEELKED,DISP = SHR
// SYSLMOD DD DSN =ZMONEY.PLI.LOAD(&MEM),DISP=SHR
//
**********************************数据底部*************** *****************
|
|
|