1

Encyclopedia Britanica によると、アセンブリ言語は

ほとんどの場合、特定のコンピューターの機械語に相当する記号です。

これが本当なら、なぜアセンブラはヘッダー付きの GAS 出力ファイルを好むのでしょうか?

ELF/Mach-O/PE ヘッダーが「機械語」ではないことは確かです。

では、なぜアセンブラはアセンブリ言語 をアセンブル て、バイナリのフォーマットをリンカに任せないのでしょうか?

4

1 に答える 1

2

問題は、マシンが直接アセンブリを実行するが、オペレーティング システムがバイナリを実行する場所を設定する必要があることです。これが、ELF ヘッダーのようなものがある理由です。OS は、コードの場所、BSS セクション、データをロードする場所などを知る必要があります。この情報がないと、生のアセンブリを与えるだけでは、OS はそれを正しくロードできません。

インライン データ (命令にコード化されている) を含むアセンブリ コードがある場合、ヘッダーは不要であると言えますが、実際にはそうではありません。

于 2012-04-23T04:13:01.660 に答える