RETURN-CODE 特殊レジスタのサイズとメモリ上の配置を指定します。
>>-.---.--RTNCODE-SIZE--"integer"---------->< +-/-+
XOPEN を指定するとすぐに RTNCODE-SIZE"4" に設定されます。
RETURN-CODE が 4 バイトのプログラムから RETURN-CODE が 2 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値が 4 バイトの RETURN-CODE の下位 2 バイトに格納され、上位 2 バイトの内容は不定になります。
RETURN-CODE が 8 バイトのプログラムから RETURN-CODE が 4 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値が 8 バイトの RETURN-CODE の下位 4 バイトに格納され、上位 4 バイトの内容は不定になります。
あるプログラムから別のプログラムを呼び出すとき、RETURN-CODE レジスタのサイズが一致している必要はありません。呼び出し元プログラムの RETURN-CODE レジスタが呼び出し先プログラムの RETURN-CODE レジスタよりも大きい場合は、呼び出し元プログラムのレジスタの残りのバイトは不定になります。たとえば、RETURN-CODE が 2 バイトのプログラムから RETURN-CODE が 4 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値の下位 2 バイトが 2 バイトの RETURN-CODE に格納され、上位 2 バイトの内容は失われます。
呼び出し元プログラムの RETURN-CODE レジスタが呼び出し先プログラムの RETURN-CODE レジスタよりも小さい場合は、呼び出し元プログラムのレジスタに格納できないバイトは失われます。たとえば、RETURN-CODE が 4 バイトのプログラムから RETURN-CODE が 8 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値の下位 4 バイトが 4 バイトの RETURN-CODE に格納され、上位 4 バイトの内容は失われます。
RETURN-CODE が 4 バイトのプログラムから RETURN-CODE が 2 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値が 4 バイトの RETURN-CODE の下位 2 バイトに格納され、上位 2 バイトの内容は不定になります。
RETURN-CODE が 8 バイトのプログラムから RETURN-CODE が 4 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値が 8 バイトの RETURN-CODE の下位 4 バイトに格納され、上位 4 バイトの内容は不定になります。
あるプログラムから別のプログラムを呼び出すとき、RETURN-CODE レジスタのサイズが一致している必要はありません。呼び出し元プログラムの RETURN-CODE レジスタが呼び出し先プログラムの RETURN-CODE レジスタよりも大きい場合は、呼び出し元プログラムのレジスタの残りのバイトは不定になります。たとえば、RETURN-CODE が 2 バイトのプログラムから RETURN-CODE が 4 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値の下位 2 バイトが 2 バイトの RETURN-CODE に格納され、上位 2 バイトの内容は失われます。
呼び出し元プログラムの RETURN-CODE レジスタが呼び出し先プログラムの RETURN-CODE レジスタよりも小さい場合は、呼び出し元プログラムのレジスタに格納できないバイトは失われます。たとえば、RETURN-CODE が 4 バイトのプログラムから RETURN-CODE が 8 バイトのプログラムを呼び出した場合、呼び出し先プログラムから返された値の下位 4 バイトが 4 バイトの RETURN-CODE に格納され、上位 4 バイトの内容は失われます。