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

查询寄存器。


IBM大型机论坛 -> PL / I& Assembler
发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
Pankaj Shrivastava
目前被禁止

新的用户


已加入:2009年7月24日
帖子:51
地点:浦那

 发布 发表:2009年7月27日星期一6:54 pm
引用回复

大家好 ,

这可能是一个非常基本的问题,但是从概念上讲,我对硬件级别的真实情况一无所知。
当我们说我们正在使用机器的寄存器时,是否表示某个程序一次只使用一个特定的寄存器。如果是,那么maniframe如何使用一组寄存器同时操作这么多程序,如果不是,那么它如何满足使用有限数量寄存器运行的许多程序。

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

全球主持人


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

 发布 发表:2009年7月27日星期一7:06 pm
引用回复

您可能需要查找z / Architecture操作原理的副本并阅读一会儿。当系统停止执行一个地址空间并开始执行另一个地址空间时,将为旧的地址空间存储内存(包括寄存器),然后为新的地址空间加载内存。因此,每个运行的程序都有自己完整的寄存器集,这些寄存器保持唯一的分配状态。
回到顶部
查看用户资料 发送私信
比尔·奥博伊尔

CICS 主持人


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

 发布 发表:2009年7月27日星期一7:07 pm
引用回复

在汇编程序应用程序中,除非您知道自己在做什么,否则不要使用R0,R1,R13,R14和R15,因为它们被系统级服务/宏等(R13​​除外)所使用,但R13包含以下地址:当前程序的18字保存区,您还需要保留此寄存器。

另外,如果这是由兼容HLE的HLL调用的子程序,请避免使用R12,因为它通常包含LE“ CAA”(公共锚区域)的地址。

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

活跃用户


加入时间:2008年5月8日
帖子:390
地点:中国

 发布 发表:2010年11月30日,星期二,下午3:16
引用回复

我是Assembler的新手,请允许我提出一个愚蠢的问题:
我发现几乎所有子程序中,下面的代码段都被编码:
码:
STM R14,R12、12(R13)

我知道这会将调用程序的寄存器内容存储到寄存器13中,但是为什么它总是12(R13)而不是4(R13),8(R13)?

谢谢您的提前回复!
回到顶部
查看用户资料 发送私信
罗伯特·桑普

全球主持人


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

 发布 发表:2010年11月30日,星期二,下午5:15
引用回复

汇编程序保存区链接约定需要它。保存区域的前4个字节被保留,然后是前一个保存区域地址的4个字节,然后是下一个保存区域地址的4个字节,然后是寄存器。由于保留了前12个字节,因此寄存器必须存储在偏移量12(R13)中。如果构造正确,程序中保存区的地址将存储在8(R13)。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

 发布 发表:2010年11月30日,星期二,10:08 pm
引用回复

您好,

您编写的每个汇编器模块都应遵循标准的链接约定。否则可能会在模块调用或被其他模块调用时引起各种问题。

当您的代码将控制权返回给所调用的任何内容时,不仅要执行单个指令,还应该执行一些代码。

许多组织为此目的定义了宏。
回到顶部
查看用户资料 发送私信
德君竹

活跃用户


加入时间:2008年5月8日
帖子:390
地点:中国

 发布 发表:2010年12月1日星期三上午7:52
引用回复

非常感谢你!
我会记住的。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> PL / I& Assembler

 


类似主题
话题 论坛 回覆
 没有新帖 在合并查询中需要帮助 DB2 4
 没有新帖 TM和寄存器 PL / I& Assembler 6
 没有新帖 大型机ISPREDIT宏查询 TSO / ISPF 3
 没有新帖 DFSORT输出文件顺序查询 DFSORT / ICETOOL 2
 没有新帖 在JCL上查询 DFSORT / ICETOOL 5
搜索我们的论坛:


 回到顶部