IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

汇编代码以获取工作名称?


IBM大型机论坛 -> PL / I& Assembler
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
第75章

活跃用户


已加入:2014年6月9日
帖子:119
位置:CT

 发布 发表:2015年7月7日星期二11:37 pm
引用回复

嗨,专家们,

我知道如何使用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
地点:美国乔治亚州亚特兰大

 发布 发表于:星期三七月08,2015 12:06上午
引用回复

在论坛上搜索GETJOBI。它使用EXTRACT宏,然后遍历控制块以获取作业名称。

嗯...
回到顶部
查看用户资料 发送私信
第75章

活跃用户


已加入:2014年6月9日
帖子:119
位置:CT

 发布 发表于:2015年7月8日星期三12:30上午
引用回复

谢谢,

当我运行该今天双色球开奖结果时,我异常终止
码:
**************************************数据顶部**************
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
地点:美国乔治亚州亚特兰大

 发布 发表于:2015年7月8日星期三凌晨2:30
引用回复

我的工作系统上有相同的子今天双色球开奖结果。您是从主模块调用它的吗?除了32字节的Parms,您还传递了128字节的可重入存储吗?
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表于:2015年7月8日星期三凌晨4:54
引用回复

比尔-查看寄存器和PSW。麻烦的是,我们看到的所有代码都是各个控制块的负载。看起来还可以,但是在我看来,这个问题是链接问题。我们真正所知道的是寄存器被拧紧了,基于PSW,有一个提示代码在某个地方做了BR 14。

对于我来说,获取控制块地址的代码看起来还可以,所以我不认为这是问题所在,但没有足够的信息来深入探讨这一问题。
回到顶部
查看用户资料 发送私信
第75章

活跃用户


已加入:2014年6月9日
帖子:119
位置:CT

 发布 发表:2015年7月8日,星期三,下午5:57
引用回复

嗨,比尔和史蒂夫,

感谢您的回答。您的问题“您是否从主模块调用它?除了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
位置:矩阵内部

 发布 发表:2015年7月8日,星期三,下午6:30
引用回复

如果TEST3是Bill向您指出的今天双色球开奖结果,那将无法正常工作。 Bill在后续工作中明确指出,至少需要两个参数。当使用EXEC PGM =时,只会得到一个参数(指定为PARM的参数),而不会得到第二个数据区域。 S0C4听起来像是潜在的即时或后续结果。

编写一个小今天双色球开奖结果,并在其中使用Bill所指的今天双色球开奖结果作为子今天双色球开奖结果。
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表于:2015年7月9日(星期四)上午6:17
引用回复

杰克-许多今天双色球开奖结果旨在通过// 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
地点:美国乔治亚州亚特兰大

 发布 发表:2015年7月9日(星期四)下午4:39
引用回复

自从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

 发布 发表:2015年7月9日(星期四)下午6:49
引用回复

嗨,史蒂夫,

我还是不明白为什么这个今天双色球开奖结果必须被另一个今天双色球开奖结果调用? GETJOBI中是否有一些用于此目的的指令?
我想了解有关TIOT和TCB地址或其他相关控制块的更多信息,哪本书详细介绍了这本书?

谢谢
回到顶部
查看用户资料 发送私信
比尔·奥博伊尔

CICS 主持人


已加入:2008年1月14日
帖子:2504
地点:美国乔治亚州亚特兰大

 发布 发表:2015年7月9日(星期四)下午7:04
引用回复

如果您只需要提取作业编号,则以下代码将执行此操作-

码:

乔布   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
位置:矩阵内部

 发布 发表:2015年7月9日(星期四)下午7:52
引用回复

对于文档,您需要的是多卷本(每卷大概六本) MVS数据区 您的操作系统的手册。

z / OS V2R1有2015年6月的刷新列表 这里 .
回到顶部
查看用户资料 发送私信
比尔·伍德格

主持人荣誉


加入时间:2011年3月9日
帖子:7311
位置:矩阵内部

 发布 发表:2015年7月9日(星期四)下午7:56
引用回复

您可以遍历COBOL中的控制块:

http://www-01.ibm.com/support/docview.wss?uid=swg21392963

我不认为Production使用不依赖于IBM提供的语言材料的任何好方法,这些材料会根据需要进行更新。因此,请使用为任务提供的Assembler宏。

在生产之外,您可以享受更多乐趣。
回到顶部
查看用户资料 发送私信
加里·卡罗尔

高级会员


加入时间:2006年5月8日
职位:1100
所在地:爱尔兰都柏林

 发布 发表:2015年7月9日(星期四)下午8:05
引用回复

引用:
嗨,史蒂夫,

我还是不明白为什么这个今天双色球开奖结果必须被另一个今天双色球开奖结果调用? GETJOBI中是否有一些用于此目的的指令?
我想了解有关TIOT和TCB地址或其他相关控制块的更多信息,哪本书详细介绍了这本书?

谢谢


该(子)今天双色球开奖结果必须由另一个今天双色球开奖结果调用,因为这是设计使用它的方式。它需要调用今天双色球开奖结果编写的参数。

您可能会在以下位置找到有关控制块的信息:
idcp.marist.edu/pdfs/ztidbitz/31%20zNibbler%20(zOS%20Control%20Blocks).pdf
对于了解z / OS控制块很有用。

加里
回到顶部
查看用户资料 发送私信
史蒂夫·迈尔斯

活跃的成员


已加入:2013年11月30日
帖子:870
地点:宇宙

 发布 发表:2015年7月9日(星期四)下午9:45
引用回复

比尔·奥博伊尔写道:
...自从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
地点:宇宙

 发布 发表:2015年7月9日星期四10:28下午
引用回复

第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
地点:美国乔治亚州亚特兰大

 发布 发表:2015年7月9日(星期四)下午11:13
引用回复

引用:
z / Architecture和LLGT指令在20年前不存在。 z / Architecture是15岁。


你误会了CICS / TS 4.2大约在3年前发布,此时DFHAFCD TYPE = LOCATE宏已从使用 “ L” 使用 "超级跑车".
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> PL / I& Assembler

 


类似主题
话题 论坛 回覆
没有新帖 无论先前的步骤如何,都执行步骤... JCL和VSAM 2
没有新帖 错误0C1原因代码1与分支i ... PL / I& Assembler 3
没有新帖 JCL用于替换Cobol中的代码 JCL和VSAM 7
没有新帖 Easytrieve EZABX007,错误代码0 ... CA产品 7
该主题已锁定:您无法编辑帖子或回复。 VSAM I / O-扩展寻址-... JCL和VSAM 12
搜索我们的论坛:


回到顶部