web-dev-qa-db-ja.com

ASM:MASM、NASM、FASM?

ARMアセンブリプログラミングを行ったので、インテルアセンブラについて学びたいと思います。これらのさまざまなF/M/N/ASMのすべてを繰り返し聞きますが、それらがどのように関連しているかはわかりません。達成したいですか?

誰かが私がIntelアーキテクチャで低レベルをプログラムする方法を学ぶために必要なものを特定するのを手伝ってくれませんか? 「異なるアセンブラー」がx86、IA64、AMD64/x86-64などとどのように相関するのか、私にはよくわかりません。

それが何らかの助けになれば、私はEclipseとVisual Studio 08/10 IDEで最も快適です。

27
user997112

MASM (Microsoft Assembler)は、Windowsで人気のあるアセンブラーです。 MASMは、16ビットおよび32ビットアプリケーション用です(x86)。 ML64は64ビットソース(AMD64/x86-64

NASM (Netwide Assembler)はLinuxで人気のあるアセンブラーですが、 Windows でも利用できます。 NASMは、16ビット、32ビット、64ビットのプログラムをサポートしています。

FASM (フラットアセンブラー)は、WindowsとLinuxの両方で使用できます。 FASMも32ビットプログラムと64ビットプログラムの両方をサポートしています。

したがって、要件に応じてMASMを選択することをお勧めします。

20
Pavan Manjunath

ちょうどそれについて話すために、 RosAsm は、32ビットのアセンブラだけのウィンドウであり、

  • 統合されたIDE使用可能なソースコードで自己コンパイルされます
  • nASMにヒントを得た構文
  • 高水準言語設計のための強力なマクロシステム
  • 生成された.exeおよび.dll内(PEセクション内)にソースコードを格納する特殊性。

64ビットのサポートに関しては、RosAsmには何もありませんが、その貢献者の1人が現在64ビットの書き換えに取り組んでいます(BUAsm、ボトムアップアセンブラー)

0
Seki