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 - 開始しました - TIME=09.01.56 09.01.56 J0686275 +...0....... 09.01.56 J0686275 - --タイミング (分)-- ----ページング カウント--- 09.01.56 J0686275 -IMIJWS0G GO 00 6 .00 .00 .00 1292 0 0 0 0 0 1 09.01.56 J0686275 IEF404I IMIJWS0G - 終了しました - TIME=09.01.56
私のコード
#含む #含む #含む int main() { 構造体 WTO_PARM { 符号なしの短い len; 未署名のショート コード。 char* テキスト; } wto_buff = { 4+11, 0, "こんにちは世界" }; __asm( " WTO MF=(E,(%0)) " : : "r"(&wto_buff)); }
IBMコード
int main() { 構造体 WTO_PARM { 符号なしの短い len; 未署名のショート コード。 文字テキスト[80]; } wto_buff = { 4+11, 0, "こんにちは世界" }; __asm( " WTO MF=(E,(%0)) " : : "r"(&wto_buff)); 0 を返します。 }