私はアセンブリ言語を学び始めています。私は基本レベルでそれに精通しています。私はアセンブリの大きなアプリケーションがどのように構成されているのか、つまりモジュール/パッケージにどのように分割して他のモジュールに組み込むことができるのだろうかと思います。私は特にNASMについて話しています。NASMアプリケーションをモジュール/パッケージに分割して含めるにはどうすればいいですか?
3
A
答えて
3
次のいずれかを実行できます
使用し
%include
現在の1に外部ファイルをインクルードします。
これは、-i
コマンドラインスイッチでさらに制御することができます。また、
-p
スイッチを使用してNASMにファイルを事前に含めることもできます。NASMはリンカーではないので、あなたが一緒にリンカーの能力に...よく、リンクファイルを利用することができ、複数のファイルに
を組み立てます。GLOBAL
ディレクティブを使用すると、他のモジュールでシンボルセットを表示できます。
EXTERN
ディレクティブを使用して、他のモジュールからシンボルのセットをインポートします。すべてのオブジェクトファイルをリンカーに渡すことができます。
NASM(今日)は、一度に1つのファイルしかアセンブルできないため、ビルドスクリプトが必要です。
上記の二つは相互に排他的ではありませんが、あなたは基本的には後者が適用されたときに表示するNASM output file formatsを理解する必要があります。
関連する問題
- 1. setup.pyを使用してPythonモジュールパッケージにREADME.mdファイルを含めるにはどうすればいいですか?
- 2. アプリケーションにカスタムルックアンドフィールを含めるにはどうすればいいですか
- 3. Python:文字列分割に区切り文字を含めるにはどうすればいいですか?
- 4. Browserifyを使用してAngularJSアプリケーションにユーティリティlibを含めるにはどうすればいいですか?
- 5. クローラでページ分割を行うにはどうすればいいですか?
- 6. リストを分割するにはどうすればいいですか?
- 7. 集団を分割するにはどうすればいいですか?
- 8. 文を分割するにはどうすればいいですか?
- 9. ルーチンをスレッドに分割するにはどうすればよいですか?
- 10. MVCアプリケーションを公開するときにカスタムフォルダを含めるにはどうすればいいですか?
- 11. flotr2グラフをレールに含めるにはどうすればいいですか?
- 12. SimpleCursorAdapterにSeekBarを含めるにはどうすればいいですか?
- 13. C++プログラムにフローツールを含めるにはどうすればいいですか?
- 14. HTMLコードをビューに含めるにはどうすればいいですか?
- 15. アプリエンジンレスポンスにflashvarsを含めるにはどうすればいいですか?
- 16. rubyコードをcontent_tagに含めるにはどうすればいいですか
- 17. REGEXに変数を含めるにはどうすればいいですか?
- 18. VC++プロジェクトにビルドタイムスタンプを含めるにはどうすればいいですか?
- 19. antをビルドファイルに含めるにはどうすればいいですか?
- 20. Gjsコードにパスを含めるにはどうすればいいですか?
- 21. "imBack"カードアクションにmetaを含めるにはどうすればいいですか?
- 22. Jadeテンプレートにサーバーサイドスクリプトを含めるにはどうすればいいですか?
- 23. 辞書をデータグリッドに含めるにはどうすればいいですか?
- 24. AngularJs $ http.get paramsに "="を含めるにはどうすればいいですか?
- 25. Entity Frameworkにdoubleを含めるにはどうすればいいですか?
- 26. BadRequestExceptionにメッセージを含めるにはどうすればいいですか?
- 27. .csprojファイルにDLLを含めるにはどうすればいいですか?
- 28. DrSchemeにファイルを含めるにはどうすればいいですか?
- 29. jsファイルにHTMLを含めるにはどうすればいいですか?
- 30. bottomsheetにrecyclerviewを含めるにはどうすればいいですか?
(これは大量の意見に偏っているため、塩分を取りません)大規模なアセンブリアプリケーションは、通常、C++アプリケーションとして編成されています。合理的に書かれたC++ソースでは、生成されたマシンコードの平均品質が手書きのアセンブリよりも優れているだけでなく、コンパイラが最初に実行した後もチューニングするのが簡単です。したがって、大規模プロジェクト管理のための高度に洗練されたツールを見つけることは期待しないでください。実際にはC、C++、Java、C#などと呼ばれるいくつかあります;) – Ped7g
@ Ped7g、間違っています。 – ako25