有人可以通过简单的示例帮助我理解 call x"91" 函数 11 和函数 12。我试图搜索并无法理解它。现在我在 UNIX 环境下的 COBOL 中使用这个代码,这个调用在 windows 环境下也有效吗?
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 返回给当前模块的调用参数个数。
x'91'
是一个通用库例程,完整列表请参见MF 文档。
该文档还指定了其函数 11和函数 12的作用:它们设置/读取COBOL 运行时开关 0-7和内部调试模式开关。
除了这些库例程之外,您还可以从 COBOL中一一读取它们并通过SET
语句设置“一些”开关。