查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
第75章
活跃用户
已加入:2014年6月9日 帖子:119 位置:CT
|
|
|
|
嗨,专家们,
我知道如何使用REXX获得工作名称(例如,获得工作名称XXXX的RC),但是如何明智地执行相同的操作?我对Interent进行搜索,发现使用了控制块TIOCNJOB?关于该控制块,我能读什么书吗?
我发现以下代码,不知道为什么要使用许多USING指令?
谢谢
码: |
地址键CB
----------------
USING PSA,0
L 3,PSAAOLD LOCATE ASCB
USING ASCB,3
L 4,PSATOLD LOCATE TCB
USING TCB,4
L 5,TCBTIO LOCATE TIOT
USING TIOT1,5
L 6,TCBJSCB LOCATE JSCB
USING IEZJSCB,6
L 7,ASCBASXB LOCATE ASXB
USING ASXB,7
L 8,ASXBSENV LOCATE ACEE
USING ACEE,8 |
|
|
回到顶部 |
|
 |
比尔·奥博伊尔
CICS 主持人

已加入:2008年1月14日 帖子:2504 地点:美国乔治亚州亚特兰大
|
|
|
|
在论坛上搜索GETJOBI。它使用EXTRACT宏,然后遍历控制块以获取作业名称。
嗯... |
|
回到顶部 |
|
 |
第75章
活跃用户
已加入:2014年6月9日 帖子:119 位置:CT
|
|
|
|
谢谢,
当我运行该今天双色球开奖结果时,我异常终止
码: |
**************************************数据顶部**************
IEF236I ALLOC。对于T14ASM GO
IEF237I 51A2分配给STEPLIB
IEF237I JES2分配给SYSOUT
IEA995I症状转储输出
系统完成码= 0C4 原因码= 00000010
TIME=14.49.42 SEQ=01164 CPU=0000 ASID=00E3
PSW AT TIME OF ERROR 078D0000 C0404040 ILC 2 INTC 10
未找到有效的模块
NAME=UNKNOWN
PSW上的数据目前无法提供
GR 0: 4040D1D6 1: C2F4F0F1
2: F8F00000 3: 00000000
4: 00000000 5: 00000000
6: 00000000 7: 00000000
8: 00000000 9: 00000000
A: 00000000 B: 00000000
C: 00000000 D: 00006008
E: 40404040 F: 00000000
END OF SYMPTOM DUMP |
|
|
回到顶部 |
|
 |
比尔·奥博伊尔
CICS 主持人

已加入:2008年1月14日 帖子:2504 地点:美国乔治亚州亚特兰大
|
|
|
|
我的工作系统上有相同的子今天双色球开奖结果。您是从主模块调用它的吗?除了32字节的Parms,您还传递了128字节的可重入存储吗? |
|
回到顶部 |
|
 |
史蒂夫·迈尔斯
活跃的成员
已加入:2013年11月30日 帖子:870 地点:宇宙
|
|
|
|
比尔-查看寄存器和PSW。麻烦的是,我们看到的所有代码都是各个控制块的负载。看起来还可以,但是在我看来,这个问题是链接问题。我们真正所知道的是寄存器被拧紧了,基于PSW,有一个提示代码在某个地方做了BR 14。
对于我来说,获取控制块地址的代码看起来还可以,所以我不认为这是问题所在,但没有足够的信息来深入探讨这一问题。 |
|
回到顶部 |
|
 |
第75章
活跃用户
已加入:2014年6月9日 帖子:119 位置:CT
|
|
|
|
嗨,比尔和史蒂夫,
感谢您的回答。您的问题“您是否从主模块调用它?除了32字节的parms,您还传递了128字节的可重入存储吗?”
我不确定你的问题。我所做的只是编译今天双色球开奖结果,返回代码为0。然后我使用以下jcl来运行它并异常终止。
码: |
// T14ASM作业(T,TSP,TSP8000,4,WD33),'',CLASS=4,
// MSGCLASS = T,NOTIFY = TU14,
// RESTART=*
//执行EXEC PGM = TEST3
// STEPLIB DD DISP = SHR,DSN = TTAT.TSP.TU14.S370ASM.LOAD
// SYSOUT DD SYSOUT=* |
由于返回码为0C4,是否表示该今天双色球开奖结果要访问某些受系统保护的存储区?
谢谢 |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
如果TEST3是Bill向您指出的今天双色球开奖结果,那将无法正常工作。 Bill在后续工作中明确指出,至少需要两个参数。当使用EXEC PGM =时,只会得到一个参数(指定为PARM的参数),而不会得到第二个数据区域。 S0C4听起来像是潜在的即时或后续结果。
编写一个小今天双色球开奖结果,并在其中使用Bill所指的今天双色球开奖结果作为子今天双色球开奖结果。 |
|
回到顶部 |
|
 |
史蒂夫·迈尔斯
活跃的成员
已加入:2013年11月30日 帖子:870 地点:宇宙
|
|
|
|
杰克-许多今天双色球开奖结果旨在通过// EXEC PGM = xxx调用。旨在从另一个今天双色球开奖结果中调用GETJOBI今天双色球开奖结果。今天双色球开奖结果注释中的示例调用界面似乎是Cobol,因此您需要编写一个Cobol今天双色球开奖结果来调用它,或者至少编写一种可以复制Cobol CALL的其他语言的今天双色球开奖结果(例如,汇编今天双色球开奖结果)。
Woodger先生对2个参数的评论不正确。从调用今天双色球开奖结果传递的数据区包括一个工作区,该工作区紧随返回数据的数据区。
个人观点:这个GETJOBI今天双色球开奖结果是为什么这么多人避免使用Assembler的典型例子。
例如 -
超级跑车 R15,540
L R15,208(,R15)
L R15,20(,R15)
超级跑车是一个非常晦涩的说明,原因有三点。- 该指令中的G表示它正在加载64位寄存器15,并且如以下指令所表明的,该今天双色球开奖结果不是AMODE 64今天双色球开奖结果。
- 实际上,如果您查找LLGT指令,就会发现它清除了reg 15的高阶32位,并将数据加载到reg 15的32至63位中。
- 这是什么540?我同意“ ADDRESS 当前的TCB”注释给出了一条指令被执行的原因的线索,但是,...我仍然认为更正确的PSATOLD-PSA(0)几乎一样糟糕。
接下来的2条指令中的208和20存在相同的问题。汇编今天双色球开奖结果中的主要规则是避免使用这三个指令中的“魔术”数字-而在GETJOBI的其余部分中充斥“魔术”数字。
提取(R10),'S',FIELDS = TIOT,MF =(E,EXTRPLST)
就它而言,EXTRACT宏很好。它已经永远存在了。但是,该今天双色球开奖结果已经获得了当前的TCB地址。你猜怎么了? TCB已经有了TIOT的地址;只需简单地从TCB加载其地址,并避免在EXTRACT宏中使用多条指令和参数列表,速度会更快。 |
|
回到顶部 |
|
 |
比尔·奥博伊尔
CICS 主持人

已加入:2008年1月14日 帖子:2504 地点:美国乔治亚州亚特兰大
|
|
|
|
自从CICS / TS 4.2引入以来,IBM选择使用LLGT代替普通的旧Load。这三个指令实际上包含CICS宏DFHAFCD TYPE = LOCATE,并且自20年前CICS / ESA 3.1起就使用这三个指令进行了编码。这三条指令是用GETJOBI硬编码的,而不是在组装过程中包括用于SYSLIB的适当的CICS SDFHMAC,因为许多工厂具有标准的组装/编译作业,而批组装通常不包含指向CICS PDS的SYSLIB串联。
至于硬编码的偏移量,使用十进制或十六进制无关紧要,尽管编码十进制会在汇编后为您提供十六进制的解释,所以您会同时获得两者。
用LLGT(或L)第二次加载TCB地址的时间少于担心的皮秒,因此无需进一步讨论。
快速是当今机器上的相对术语,并且由于其不受限制的功能,无法估量的时间考虑因素可能会不必要地分散注意力。
与大多数代码一样,变体很常见。 |
|
回到顶部 |
|
 |
第75章
活跃用户
已加入:2014年6月9日 帖子:119 位置:CT
|
|
|
|
嗨,史蒂夫,
我还是不明白为什么这个今天双色球开奖结果必须被另一个今天双色球开奖结果调用? GETJOBI中是否有一些用于此目的的指令?
我想了解有关TIOT和TCB地址或其他相关控制块的更多信息,哪本书详细介绍了这本书?
谢谢 |
|
回到顶部 |
|
 |
比尔·奥博伊尔
CICS 主持人

已加入:2008年1月14日 帖子:2504 地点:美国乔治亚州亚特兰大
|
|
|
|
如果您只需要提取作业编号,则以下代码将执行此操作-
码: |
乔布 DS CL8
*
LLGT R10,540 CURRENT TCB
L R10,180(,R10) POINT TO JFCB
L R10,316(,R10) POINT TO SSID
MVC JOBNBR,12(R10) POPULATE JOB-NUMBER
|
嗯... |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
|
|
对于文档,您需要的是多卷本(每卷大概六本) MVS数据区 您的操作系统的手册。
z / OS V2R1有2015年6月的刷新列表 这里 . |
|
回到顶部 |
|
 |
比尔·伍德格
主持人荣誉
加入时间:2011年3月9日 帖子:7311 位置:矩阵内部
|
|
回到顶部 |
|
 |
加里·卡罗尔
高级会员
加入时间:2006年5月8日 职位:1100 所在地:爱尔兰都柏林
|
|
回到顶部 |
|
 |
史蒂夫·迈尔斯
活跃的成员
已加入:2013年11月30日 帖子:870 地点:宇宙
|
|
|
|
比尔·奥博伊尔写道: |
...自从CICS / TS 4.2引入以来,IBM选择使用LLGT代替普通的Load。这三个指令实际上包含CICS宏DFHAFCD TYPE = LOCATE,并且自20年前CICS / ESA 3.1起就使用这三个指令进行了编码。 ... |
z / Architecture和LLGT指令在20年前不存在。 z / Architecture是15岁。
从技术上讲,使用它被认为是危险的,因为它会破坏寄存器15的位0到31,这可能无法保存和恢复。现在让我补充一下,这在我的代码中已经不是问题,在这里我使用“宏指令”指令,而不必担心寄存器中的位0到31是否已正确保留。尽管如此,这还是一个令人担忧的问题,迟早对此事不做会破坏某些事情。唯一的问题是何时?
在汇编语言中,有关使用“魔术”数字的IBM编码约定在开放代码中非常严格。它们在宏中更为宽容,尽管可以认为它们不应该如此。但是,我不喜欢“魔术”数字并尝试避免使用它们,尤其是在我发布的内容中。 |
|
回到顶部 |
|
 |
史蒂夫·迈尔斯
活跃的成员
已加入:2013年11月30日 帖子:870 地点:宇宙
|
|
|
|
第75章写道: |
嗨,史蒂夫,
我还是不明白为什么这个今天双色球开奖结果必须被另一个今天双色球开奖结果调用? GETJOBI中是否有一些用于此目的的指令?
我想了解有关TIOT和TCB地址或其他相关控制块的更多信息,哪本书详细介绍了这本书?
谢谢 |
杰克,你是对的。我在40年前或更久以前中学到了很多东西。 40年后,我无法告诉您我是如何找到这个的。实际上,当您认真研究它时,今天就不重要了。
今天,我写
码: |
L 15,CVTPTR
L 15,CVTTCBP-CVTMAP(,15)
L 15,4(,15)
L 15,TCBTIO-TCB(,15)
MVC JOBNAME,TIOCNJOB-TIOT1(15) |
获取当前的工作名称。这与我在1969年编写的代码完全相同,尽管在1969年,由于IBM不愿为CVT,TCB和TIOT等主要控制块提供映射DSECT,我将不得不对数据区域使用“魔术”数字。 1969年,我不得不使用印刷的文档,该手册在某些手册中的使用方式与1969年有所不同。除非能找到其他人的代码,否则我必须像您一样仔细阅读手册。捷径并不多。现在您拥有类似这样的互联网资源,而我们在1969年就没有,有时可以用作捷径。 1969年,还有其他资源,其中大部分已经不存在了,我们的初学者可以并且经常使用。 |
|
回到顶部 |
|
 |
比尔·奥博伊尔
CICS 主持人

已加入:2008年1月14日 帖子:2504 地点:美国乔治亚州亚特兰大
|
|
|
|
引用: |
z / Architecture和LLGT指令在20年前不存在。 z / Architecture是15岁。 |
你误会了CICS / TS 4.2大约在3年前发布,此时DFHAFCD TYPE = LOCATE宏已从使用 “ L” 使用 "超级跑车". |
|
回到顶部 |
|
 |
|