我想在Metal C中使用WTO指令打印出「Hello World」到我的工作日誌。這是基於z/OS V1R10.0 Metal C編程指南和參考的1.2.3.5節中的示例。當我使用WTO時出現的問題我遇到了包含0的緩衝區或ASCII到EBCDIC轉換的問題。我在下面粘貼了我的作業日誌的相關部分,然後是我的代碼,然後是IBM示例中的代碼,我無法編譯它。 工作日誌使用WTO打印從金屬C
09.01.56 J0686275 IEF403I IMIJWS0G - STARTED - TIME=09.01.56 09.01.56 J0686275 +...0....... 09.01.56 J0686275 - --TIMINGS (MINS.)-- ----PAGING COUNTS--- 09.01.56 J0686275 -IMIJWS0G GO 00 6 .00 .00 .00 1292 0 0 0 0 0 1 09.01.56 J0686275 IEF404I IMIJWS0G - ENDED - TIME=09.01.56
我的代碼
#include #include #include int main() { struct WTO_PARM { unsigned short len; unsigned short code; char* text; } wto_buff = { 4+11, 0, "hello world" }; __asm(" WTO MF=(E,(%0)) " : : "r"(&wto_buff)); }
IBM代碼
int main() { struct WTO_PARM { unsigned short len; unsigned short code; char text[80]; } wto_buff = { 4+11, 0, "hello world" }; __asm(" WTO MF=(E,(%0)) " : : "r"(&wto_buff)); return 0; }
+1更正結構 – 2009-06-09 05:11:08