标签: s390x

如果输出文件属性更改,z/OS 汇编程序会奇怪地循环

好的 - 我确定我在做一些愚蠢的事情,但我看不到它。

我有一个小样本汇编程序,我将提供给想要学习汇编程序的同事,但它有一个奇怪的错误,我需要先解决。.

当输出文件 (DDNAME SYSUT2) 是一个临时的 80 字节文件时,它工作正常。将 SYSUT2 更改为 SYSOUT=*,它会从“关闭文件”WTO 循环。

所以这是程序:

//C.SYSLIB   DD  DISP=SHR,DSN=SYS1.MACLIB                               
//           DD  DISP=SHR,DSN=SYS1.MODGEN                               
//           DD  DISP=SHR,DSN=SYS1.ASM.SASMMAC2                         
//*          DD  DISP=SHR,DSN=JOCS065.STEVE.SOURCE                      
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  4 Line(s) not Displayed 
         TITLE  'TEST PROGRAM'                                          
SYMBOLIC CSECT                                                          
         ASMDREG                      .Register equates                 
         SAVE  (14,12),,'SYMBOLIC PARM SUB &SYSDATE &SYSTIME'           
                                                                        
         LR    R12,R15                .R12 -> entry point               
         USING SYMBOLIC,R12           .Establish addressability         
* Get the parm passed                                                   
         L     R1,0(R1)               .R1 -> …
Run Code Online (Sandbox Code Playgroud)

assembly mainframe s390x

4
推荐指数
1
解决办法
104
查看次数

在IBM Z(s390x)上超过4K(页面大小)的指令如何以基址+偏移量方式寻址?

我们知道每条指令都转换为基址+偏移量,并且偏移量最大大小设置为4K(4096)。如果我的程序大小超过 4k 怎么办?

Line 1 : Base  + 1 , 
Line 2 : Base  + 5 , 
.
.
.
., 
Line x : base + 4090 
Run Code Online (Sandbox Code Playgroud)

当指令超出页面大小 4096 时,如何对第 x 行开始进行寻址(如基址 + 偏移量)?

从 X 行开始的指令是如何组装的?我们是否需要将基地址更改为保存指令的下一页的开头?

assembly mainframe memory-address zos s390x

4
推荐指数
1
解决办法
297
查看次数

如何在 IBM (HLASM) 中使用显式寻址

我一直在网上寻找有关显式寻址的信息,但什么也没有,而且解释很模糊。我希望有人可以详细解释我,如果可能的话,还可以举个例子。我想知道,应该使用哪些寄存器作为索引,基数,位移值应该是什么

示例 8(,4) 或 5(0,5) 或 6(7)

assembly mainframe zos addressing-mode s390x

2
推荐指数
1
解决办法
203
查看次数