You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决z/VSE上HLASM「Hello World」程序返回码120的问题?

z/VSE环境下HLASM程序返回码120的原因及修正方案

你的HLASM Hello World程序能正常输出内容,但结束时返回码120,核心原因是程序未按照z/VSE的规范完成系统返回流程:

z/VSE中返回码120通常表示程序异常终止,本质是你用BR 14直接返回时,没有设置表示正常结束的返回码寄存器(R15),系统默认识别为异常状态;同时,对于直接由作业流启动的程序,单纯的分支跳转没有触发操作系统的任务清理流程,导致返回码异常。

修正方法

有两种可行的修正方式:

方式1:设置正常返回码后再分支返回

在BR 14前添加LR 15,0,将寄存器15设置为0(z/VSE中0代表正常结束),让系统识别为正常终止:

HELLO    CSECT
         STM   14,12,12(13)       Save registers
         LR    12,15              Establish addressability
         USING HELLO,12
         WTO   'HELLO, WORLD'     Write to operator
         LM    14,12,12(13)       Restore registers
         LR    15,0               设置正常返回码0
         BR    14                 Return
         END   HELLO

方式2:使用RET宏完成系统返回

RET宏是z/VSE专门用于程序返回操作系统的指令,会自动处理返回码设置和任务清理,替代BR 14即可:

HELLO    CSECT
         STM   14,12,12(13)       Save registers
         LR    12,15              Establish addressability
         USING HELLO,12
         WTO   'HELLO, WORLD'     Write to operator
         LM    14,12,12(13)       Restore registers
         RET                     正确返回到操作系统
         END   HELLO

优化后的完整作业流

另外建议明确指定执行编译链接后的程序,修改作业流中的// EXEC为// EXEC HELLO,避免系统默认执行的潜在问题:

* $$ JOB JNM=CRASMHEL,DISP=D,CLASS=A,NTFY=YES
* $$ LST DISP=D,CLASS=A,PRI=3
// JOB CRASMHEL COMPILE PROGRAM HELLO
// ASSGN SYSLST,PRT1
// OPTION ERRS,SXREF,SYM,NODECK,LINK    
// EXEC ASMA90,SIZE=(ASMA90,64K),PARM='EXIT(LIBEXIT(EDECKXIT)),SIZE(MAXC-200K,ABOVE)'
HELLO    CSECT
         STM   14,12,12(13)       Save registers
         LR    12,15              Establish addressability
         USING HELLO,12
         WTO   'HELLO, WORLD'     Write to operator
         LM    14,12,12(13)       Restore registers
         LR    15,0               设置正常返回码0
         BR    14                 Return
         END   HELLO
/*
// EXEC LNKEDT,SIZE=256K
// EXEC HELLO
/&
* $$ EOJ

内容的提问来源于stack exchange,提问作者Leonid Tepliakov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:12:39