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 を返します。
}