我正在尝试使用 Metal C 中的 WTO 指令将“Hello World”打印到我的工作日志中。这是基于 z/OS V1R10.0 Metal C Programming Guide and Reference 的第 1.2.3.5 节中的示例当我使用 WTO 时出现的问题是我的缓冲区包含 0 或 ASCII 到 EBCDIC 转换。我在下面粘贴了我的工作日志的相关部分,然后是我的代码,然后是我无法编译的 IBM 示例中的代码。作业日志
09.01.56 J0686275 IEF403I IMIJWS0G - 开始 - 时间 = 09.01.56 09.01.56 J0686275 +...0....... 09.01.56 J0686275 - --计时(分钟)-- ----分页计数--- 09.01.56 J0686275-IMIJWS0G 去 00 6 .00 .00 .00 1292 0 0 0 0 0 1 09.01.56 J0686275 IEF404I IMIJWS0G - 结束 - 时间 = 09.01.56
我的代码
#包括
#包括
#包括
主函数()
{
结构 WTO_PARM {
无符号短长度;
无符号短代码;
字符*文本;
} wto_buff = { 4+11, 0, "你好世界" };
__asm(" WTO MF=(E,(%0))" : : "r"(&wto_buff));
}
IBM 代码
int main() {
结构 WTO_PARM {
无符号短长度;
无符号短代码;
字符文本[80];} wto_buff = { 4+11, 0, "你好世界" }; __asm(" WTO MF=(E,(%0))" : : "r"(&wto_buff));
返回0;
}