MSX-DOS2PIS 03 01

From Z80 Machines Wiki
Jump to: navigation, search

3.1.呼び出し規約

MSX-DOS関数呼び出しは、他のメインレジスタで必要とされる他のパラメータとともにレジスタCに機能コードを入れてから「CALL 5」命令を実行することによって行われます。操作が実行され、結果は機能に応じてさまざまなレジスタに返されます。

通常、すべてのメインレジスタ(AF、BC、DE、およびHL)がMSX-DOS呼び出しによって破損するか、結果が返されます。代替レジスタセット(AF '、BC'、DE 'およびHL')は常に保持されますが、インデックスレジスタ(IXおよびIY)は結果を返す1つまたは2つの場合を除いて保持されます。

MSX-DOSが呼び出されると、内部スタックに切り替えるので、一時的なプログラムのスタックに少量の領域(8バイト)が必要です。

互換性のために、CP/Mの対応物を持つすべての関数は、A = LおよびB = Hを返します。 Aはエラーフラグを返すことが多く、0は成功を示し、01hまたはFFhは失敗を示します。

新しいMSX-DOS関数(40h以上の関数コード)はすべてAのエラーコードで戻り、その他の結果は他のメインレジスタに返されます。エラーコード0はエラーがないことを意味し、ゼロ以外のコードはエラーが発生したことを意味します。その正確な性質は値を調べることで確認できます。エラーコードとメッセージのリストはセクション6で与えられます。エラーコードのためのASCII説明文字列を与える「説明」機能が提供されます(詳細は機能仕様を見てください)。

利用可能な実際の機能はMSX-DOS機能仕様に文書化されています。