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

在假脱机中显示数据的汇编程序指令


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

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月13日,星期五,下午6:26
引用回复

你好

我想在后台打印中显示一些字段或数据以进行调试。

谁能告诉我相当于COBOL中“ DISPLAY”的汇编程序指令,可以在汇编程序中对其进行编码以显示数据?谢谢

问候,
维奈
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2011年5月13日,星期五,下午6:38
引用回复

在汇编器中没有与COBOL的DISPLAY语句等效的语句。您可以将自己的例程编写为宏,但必须自己处理格式转换。
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月13日,星期五,下午6:50
引用回复

但是要编写宏,我们需要使用什么来在假脱机中显示数据。是否只需要使用PUT指令?
回到顶部
查看用户资料 发送私信
比尔·奥博伊尔

CICS主持人


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

发布发表:2011年5月13日,星期五,晚上7:28
引用回复

可以 使用带有ROUTCDE =(11)的WTO,它会写入JESMSGLG。

但是,在执行此操作之前,请先与现场运营人员联系。

法案
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


已加入:2008年6月6日
帖子:8569
地点:美国爱荷华州迪比克

发布发表:2011年5月13日,星期五,下午7:58
引用回复

您将需要在程序中定义DCB,将其打开,设置打印行,然后输入数据-完成操作后关闭文件。您的JCL会将DD名称设置为SYSOUT = *(或站点的​​适当值)。
回到顶部
查看用户资料 发送私信
黑莓

新的用户


加入时间:2009年1月6日
帖子:88
地点:IN

发布发表:2011年5月16日星期一2:32 pm
引用回复

是的,您可以使用WTO宏

语法应为:

码:
DISMSG    WTO     文字= 世界贸易组织,ROUTCDE = 11


在要显示的存储区域之前添加一个名为WTOAR的半字。例如:

码:

世界贸易组织  DC    H'40'
WRKAR  EQU   *
佛罗里达州   DS    CL20
FLDB   DS    PL4
..... 等等

半字WTOAR是将显示的字节长度。确保它不要太长(始终< 80 bytes)

Routcde = 11 会将您的邮件路由到假脱机中的Jesysmsg。
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月16日星期一3:01 pm
引用回复

FWIW,我将使用我的工作存储器的快照。很有魅力。
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,上午11:04
引用回复

嗨Nihal,

当我使用以下说明在JESMSG中显示时,我面临着ABEND SD23

DISMSG WTO TEXT = 味精1,ROUTCDE = 11
味精1 DC CL5'VINAY'

但是当我使用时工作很好

DISMSG WTO“程序测试程序执行”

我想显示变量或寄存器的内容。你能告诉我我该怎么做吗?谢谢
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月17日,星期二,上午11:52
引用回复

在这种情况下,您应该使用WTO的EXECUTE和LIST形式。
请参见以下示例:

www.longpelaexpertise.com.au/ezine/ReentrantBeginners.php
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,12:42 pm
引用回复

嗨,彼得,

我使用的方法与您提到的示例中提到的方法相同。但是我正在中止SOC1。

洛杉矶R3,MSG1
DISMSG 世贸组织 TEXT=(R3)
味精1 DC AL2(L'MSG1TXT)
味精1TXT DC C'程序TESTPGM执行
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月17日,星期二,下午1:07
引用回复

在您接受WTO指令后,MSG1和MSG1TXT是否立即生效?如果真是这样,难怪您的程序会中止。 WTO可能会异常终止,其终止代码为X'D23',而不是0C1。
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,下午1:18
引用回复

是。 WTO指令后立即提供MSG1和MSG1TXT。

如果只是在WTO指令之后,我是否可以知道退出的原因?

我需要在程序结束时编写它们吗?
回到顶部
查看用户资料 发送私信
UmeySan

活跃的成员


已加入:2006年8月22日
职位:771
地点:德国

发布发表:2011年5月17日,星期二,下午1:37
引用回复

先生,早上好!

如果您只想显示一些简单的消息来简单地跟踪您的程序流程,那么在多个地方执行简单的WTO便可以。

WTO'这是:Label-13'

...或更灵活:


MVC WTOMSG1 + 017(008),= C'Label-13'
...
...
WTOMSG1 WTO'这是:xxxxxxxx'


WTO-Command自身使用8个字节。因此,文本字符的第一个字节是
wto-label + 8。在此示例中,Wto消息由以前的MVC修改。
回到顶部
查看用户资料 发送私信
UmeySan

活跃的成员


已加入:2006年8月22日
职位:771
地点:德国

发布发表:2011年5月17日,星期二,下午1:39
引用回复

@ 维奈knj

快速回答您的最后一个问题。

您的wto没有任何指示。
您的wto后跟一个define-constant。

所以你得到了非法指示
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月17日,星期二2:03 pm
引用回复

UmeySan写道:
@ 维奈knj

快速回答您的最后一个问题。

您的wto没有任何指示。
您的wto后跟一个define-constant。

所以你得到了非法指示


感谢您重复我的评论。
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,下午3:21
引用回复

您好Peter / Umeysan

请让我知道以下说明有什么问题。我正在获取SD23异常终止...

DISMSG4 世贸组织 TEXT=OUTREC
开(OUTFLE,(OUTPUT))
DISMSG2 WTO“打开输出文件成功”
放出,收放
DISMSG3 WTO“写输出文件成功”

OUTREC DC 0CL15
FNAME DC CL5'VINAY'
LNAME DC CL5'KUMAR'
MNAME DC CL5'NAMA'
OUTFLE DCB DDNAME = OUTFILE,+
DSORG = PS,+
LRECL = 80,+
MACRF =(PM),+
RECFM = FB
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月17日,星期二,下午3:29
引用回复

在outrec之前没有长度字段,并且在DISMSG3之后没有分支到其他编码。
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,下午3:35
引用回复

嗨,彼得/梅梅,

请让我知道以下说明有什么问题。我正在中止SOC1。

开(OUTFLE,(OUTPUT))
DISMSG2 WTO“打开输出文件成功”
放出,收放
DISMSG3 WTO“写输出文件成功”
DISMSG6 WTO'定义超前'
OUTREC DC 0CL15
FNAME DC CL5'VINAY'
LNAME DC CL5'KUMAR'
MNAME DC CL5'NAMA'
DISMSG4 WTO“确定后超出”
OUTFLE DCB DDNAME = OUTFILE,+
DSORG = PS,+
LRECL = 80,+
MACRF =(PM),+
RECFM = FB
XR R15,R15

JESMSGS显示“打开输出文件成功”,“写输出文件成功”,“在定义输出之前”,并且在输出记录之后不显示我给出的任何内容。

请提示。谢谢
回到顶部
查看用户资料 发送私信
黑莓

新的用户


加入时间:2009年1月6日
帖子:88
地点:IN

发布发表:2011年5月17日,星期二,下午3:36
引用回复

维奈knj写道:
嗨Nihal,

当我使用以下说明在JESMSG中显示时,我面临着ABEND SD23

DISMSG WTO TEXT = 味精1,ROUTCDE = 11
味精1 DC CL5'VINAY'



维奈

您需要详细了解我在该线程的第一条评论中提供的代码示例。

味精1字段的前2个字节是要显示的字符数或字节数的长度。尝试以下代码,然后查看结果:

码:

DISMSG   WTO TEXT = 味精1,ROUTCDE = 11
味精1     DC  H'40'   
         DC  CL5'VINAY'
填料   DC  80CL1' '



引用:
DISMSG WTO“程序测试程序执行”

是的,这样可以正常运行,因为字符串的长度是由WTO宏本身预先计算的
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,下午3:46
引用回复

嗨Nihal,

作业在JESMSGLG中显示了VINAY,但该作业被SOC1放弃。
可能是什么原因?
回到顶部
查看用户资料 发送私信
彼得·荷兰

全球主持人


已加入:2009年10月27日
帖子:2475
所在地:荷兰,阿姆斯特尔芬

发布发表:2011年5月17日,星期二,下午3:53
引用回复

维奈knj写道:
嗨Nihal,

作业在JESMSGLG中显示了VINAY,但该作业被SOC1放弃。
可能是什么原因?


再一次,您尝试在WTO之后执行工作存储,因为您没有分支到可执行代码。如果您不了解,请停止尝试编写汇编程序。 SD23异常终止是由于未提供文本长度。其余请阅读手册:

MVS编程:授权
汇编程序服务参考,第4卷
(SETFRR-WTOR)
回到顶部
查看用户资料 发送私信
黑莓

新的用户


加入时间:2009年1月6日
帖子:88
地点:IN

发布发表:2011年5月17日,星期二,下午3:54
引用回复

维奈knj写道:
嗨Nihal,

作业在JESMSGLG中显示了VINAY,但该作业被SOC1放弃。
可能是什么原因?


维奈

根据错误(S0C1),我想:您需要将WTO宏语句保留在 可执行文件 您程序的一部分。 味精1应该保存在 工作区域 程序的一部分(即保留其余变量/字段的部分)。

一般规则是:无论何时编写程序 控制永远不会到达您的工作区域.

论坛中的其他一些人已经提出了这一建议。
回到顶部
查看用户资料 发送私信
比尔·奥博伊尔

CICS主持人


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

发布发表:2011年5月17日,星期二,下午4:00
引用回复

如前所述,您需要使数据可读,例如寄存器内容,例如R1-

码:

双字    DS    D
工作区域 DS    CL16
         ST    R1,DWORD             STORE IN 1ST-WORD
         UNPK  工作区域(9),DWORD(5) UNPACK AS 9-BYTES
         XC    双字,DWORD          ENSURE X'00'S
         MVZ   WORKAREA(8),DWORD    CLEAR ALL ZONES
         TR    工作区域(8),= CL16'0123456789ABCDEF'

根据程序中的位置,您可以 可以 删除XC和MVZ并将“转换表”更改为= CL16'0123456789ABCDEF'-240,但以上内容对您有用,并且在不同的日子将是不同的讨论。 icon_wink.gif

说完所有步骤后,可以在WORKAREA(8)中找到可读的寄存器值。

法案
回到顶部
查看用户资料 发送私信
UmeySan

活跃的成员


已加入:2006年8月22日
职位:771
地点:德国

发布发表:2011年5月17日,星期二,下午4:04
引用回复

彼得

双重保证&安全胜过遗憾

...就重复评论而言

正如您在上一篇文章中看到的那样,它仍然相同
回到顶部
查看用户资料 发送私信
维奈knj

新的用户


已加入:2008年5月26日
帖子:50
地点:班加罗尔

发布发表:2011年5月17日,星期二,下午4:06
引用回复

感谢Nihal /彼得。很抱歉让您遇到愚蠢的问题。

我知道我们不应该执行数据字段,而应该跳转到指令。

我在“ Branch”指令下包括了该指令,但仍在退出SOC1。

DISMSG WTO TEXT = 味精1,ROUTCDE = 11
后退 .
味精1 DC H'​​05'
DC CL5'VINAY'
填料DC 80CL1''
背部 XR R15,R15
返回
结束
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> PL / I& Assembler 转到页面 1, 2  下一页

 


类似主题
话题 论坛 回覆
没有新帖 比较两个文件以查找位置/日期... 同步排序 2
没有新帖 加载D ...时二级索引错误 IMS数据库/ DC 2
没有新帖 将文件从PD转换为显示... 同步排序 4
没有新帖 在UPDATE语句中跳过锁定的数据 DB2 9
该主题已锁定:您无法编辑帖子或回复。 汇编器-十进制小数-PACK in ... PL / I& Assembler 3
搜索我们的论坛:


回到顶部