DOS MZ実行可能ファイル
Sign in to saveAlso known as MS-DOS MZ executable, .exe
executable file format used for .EXE files in MS-DOS
Described at
Link to a page describing this subject · 1,749 chars · not written by Vinony
Wikidata facts
- Subclass of
- executable
- Based on
- COM
- Developer
- Microsoft
Show 5 more facts
- operating system
- DOS
- file extension
- dll
- described at URL
- raw.githubusercontent.com/kaitai-io/kaitai_struct_formats/master/executable/dos_mz.ksy
- media type
- application/x-ms-dos-executable
- file format identification pattern
- MZ
Sources (2)
via Wikidata · CC0
Article · 日本語
DOS MZ実行可能形式は、DOSのEXEファイルに使用される実行可能形式ファイルである。 この形式は、ファイルの先頭にあるASCII文字列「MZ」(16進数 :4D 5A)(「 マジックナンバー」)で識別できる。「MZ」は、MS-DOSの主要な開発者の1人であるMark Zbikowskiの頭文字である。 MZ DOS実行可能ファイルは、 COM実行可能形式よりも新しく形式が異なる。 DOS実行可能ヘッダーには、複数のセグメントを任意のメモリアドレスにロードできるリロケーション情報が含まれ、64キロバイトを超える実行可能ファイルをサポートする。ただし、この形式では依然として使用可能メモリ量が制限される。 この制限は、後にDOSエクステンダで回避されることになる。 DOSで実行されるEXEプログラムの環境に関する情報は、プログラムセグメントプレフィクス (PSP) に格納されている。 EXEファイルには、通常、コード、データ、およびスタック用の個別のセグメントがある。 プログラムの実行はコードセグメントのアドレス0から始まり、スタックポインターレジスタはヘッダー情報に含まれる値に設定される(したがって、ヘッダーが512バイトスタックを指定している場合、スタックポインターは200hに設定される)。 個別のスタックセグメントを使用せずに、必要に応じて単純にスタックのコードセグメントを使用することもできる。 DS(データセグメント)レジスタには通常、CS(コードセグメント)レジスタと同じ値が含まれており、EXEファイルが初期化されると、データセグメントの実際のセグメントアドレスはロードされない。プログラマーが自分で設定する必要があり、通常は次の手順で行う。 MOV AX, @DATA MOV DS, AX 元のDOS 1.x APIでは、プログラム終了時にPSPのあるセグメントを指すDSレジスタも必要であった。これは、次の手順で実行された。 PUSH DS XOR AX, AX PUSH AX その後、プログラムの終了はRETF命令によって実行され、スタックからPSPを使用して元のセグメントアドレスを取得し、INT 20h命令を含むアドレス0にジャンプする。 DOS 2.x APIでは、プログラムの開始時にPSPセグメントアドレスを保存する必要のないINT 21h Function 4Chという新しいプログラム終了関数を導入し、マイクロソフトは古いDOS 1.x方式は使用しないよう推奨した。
Abstract from DBpedia / Wikipedia · CC BY-SA