1

有人可以通过简单的示例帮助我理解 call x"91" 函数 11 和函数 12。我试图搜索并无法理解它。现在我在 UNIX 环境下的 COBOL 中使用这个代码,这个调用在 windows 环境下也有效吗?

4

2 回答 2

2

http://opencobol.add1tocobol.com/#what-are-the-xf4-xf5-and-x91-routines

CALL 的 X"F4", X"F5", X"91" 来自 MF。您可以在 Library Routines 下的在线 MF 文档中找到它们。

F4/F5 用于将位从/到字节打包/解包。91 是一个多用途呼叫。实现的是子功能 get/set cobol switch (11, 12) 和 get number of call params (16)。

利用

CALL X"F4" USING
           BYTE-VAR
           ARRAY-VAR
       RETURNING STATUS-VAR

将 8 字节 ARRAY-VAR 中每个字节的最后一位打包到 1 字节 BYTE-VAR 的相应位中。

X“F5”例程获取字节的八位并将它们移动到数组中的相应位置。

X“91”是一个多功能程序。

CALL X"91" USING
           RESULT-VAR
           FUNCTION-NUM
           PARAMETER-VAR
       RETURNING STATUS-VAR

正如 Roger 所提到的,OpenCOBOL 支持 11、12 和 16 的 FUNCTION-NUM。

图 11 和 12 获取和设置 SPECIAL-NAMES 段落中可定义的 8(八)个运行时 OpenCOBOL 开关的开关状态。16 返回给当前模块的调用参数个数。

于 2013-09-28T10:24:36.957 回答
1

x'91'是一个通用库例程,完整列表请参见MF 文档
该文档还指定了其函数 11函数 12的作用:它们设置/读取COBOL 运行时开关 0-7和内部调试模式开关。

除了这些库例程之外,您还可以从 COBOL中一一读取它们并通过SET语句设置“一些”开关。

于 2020-06-17T20:48:16.843 回答