質問: オブジェクトファイルをアセンブリ言語に変換するソフトを使う事で、cpuに繋がる外部装置や、複数のアセンブリプログラムを一つにする為のアドレスやメモリ状況がわかるでしょうか?ならば、 オブジェクトファイルをアセンブリやニーモニックに変換するソフトを使えば、複数のアセンブリプログラムを一つにする方法や情報が書いてあるのでしょうか? どうかよろしくお願いします。
回答: 「オブジェクトファイルをアセンブリ言語に変換するソフトを使う」 これは、逆アセンブルのことですよね。objdump -dとやればできますが・・・ 「cpuに繋がる外部装置や、複数のアセンブリプログラムを一つにする為のアドレスやメモリ状況がわかるでしょうか?」 これは、何が言いたいのかわからないのですが・・・ 結論は「逆アセンブルしただけでは、わからない」ですね。 もっと深くまで追う必要があります。 例えば、printfのような関数は最終的にシステムコールを発行し、これ以降の処理はOSが行います。 なのでOSのソースコードを読む必要があります。 最終的にはデバイスドライバに入っていき、外部装置に出力されます。 なので逆アセンブルだけだは無理です。 「リバースエンジニアリング」という技法を使うとある程度までは追えます。 が!!・・・OSの内部に入って行くような場合は無理です。 「複数のアセンブリプログラムを一つにする方法や情報が書いてあるのでしょうか? 」 これは・・・・「**リンカ**」のことですよね? ある程度は見ることができます。 例えば、セクション情報などは簡単に確認できますよね。 ただ・・・全てを把握するのは無理です。 どうやってリンカが行われているかを確認したいのならリンカのソースコードを読んだほうが良いかと・・・