我正在尝试使用 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; }