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

z/OS汇编调用BPX1WRT遇未解析符号链接错误求助

解决BPX1WRT符号未解析的链接错误
  • 链接时必须显式指定UNIX System Services(USS)的系统库,修改链接命令为:

    ld hw.o -o hw -L'//SYS1.SCEELKED'
    

    若使用IEWL直接链接,需在SYSLIB中包含SYS1.SCEELKED静态库,或SYS1.SCEELKEX动态库。

  • 原因:BPX1WRT是USS提供的写操作服务入口,这类系统调用符号不在默认链接库中,必须手动指定包含USS服务的库文件。

可重入汇编代码示例(符合USS调用规范)

REENTRANT
         USING *,R12
         SAVE (14,12)
         LR    R12,R15
* 构建BPX1WRT参数列表
         LA    R1,BUFFER       ; 指向输出缓冲区
         LA    R2,LENGTH       ; 输出内容长度
         LA    R3,STDOUT_FD    ; stdout对应的文件描述符(固定为1)
         CALL  BPX1WRT,(R1,R2,R3),VL,MF=(E,PLIST)
* 检查调用返回码
         LTR   R15,R15
         BNZ   ERROR_EXIT
* 正常退出
         LA    R0,0
         BR    R14
ERROR_EXIT
         LA    R0,1
         BR    R14
* 数据定义区
BUFFER   DC    C'Hello World'
LENGTH   DC    F'11'
STDOUT_FD DC   F'1'
PLIST    DS    18F
         END
  • 代码说明:
    • REENTRANT标记代码为可重入类型
    • 调用BPX1WRT时,参数依次为缓冲区地址、输出长度、文件描述符(stdout对应1)
    • 通过R15寄存器判断服务调用是否成功,非0值表示执行异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 04:43:22