私はアセンブリについて読んでいます。プログラミング言語について私が理解していることから、コンパイラ (アセンブラ... 他の場所で議論されている 2 つの間に微妙な違いがあることは知っています) がオブジェクト コードを生成するようです。ディレクティブのない無愛想な機械語の数々。このオブジェクト コードは、プロセッサによって解釈された後、リンカーによって実行可能ファイルになります。私は、各プロセッサが正しいアセンブリで話されなければならないことを知っています。すなわち。.386, .486, .586 私を困惑させているのは、MASM を介して DOS プログラムを実行する場合と、NASM や GAS を使用せずに Linux を介して同じプログラムを実行する場合の違いです。ソース コードがオブジェクト コードにコンパイルされている場合、この時点でクロス プラットフォームではありませんか? Linux と同じくらい簡単に、Dell から Windows をデュアル ブートできます。ここで何が欠けていますか?
また、Immunity Debugger を使用して実行を解読する必要がないように、オブジェクト コードを表示する方法を探していました。私が書いたソースコードのディレクティブマシンコードのディレクティブだけです。Linux で objdump のような結果を生成する方法はありますか?