2012-04-16 28 views
22

私はARMアセンブリプログラミングを行っており、私はインテルアセンブラを学びたいと思います。私はこれらの異なるF/M/N/ASMをすべて聞いていますが、私が達成しようとしているものとはどのように関係しているのですか?ASM:MASM、NASM、FASM?

誰かが、Intelアーキテクチャの低レベルをプログラミングする方法を学ぶために必要なものを教えてください。私は「異なるアセンブラー」がx86、IA64、AMD64/x86-64などとどのように相関関係にあるのかをよく理解していませんか?

私はEclipseとVisual Studio 08/10 IDEで最も便利です。

+0

に作業していない持ってお好みのOS上で多少異なります - Windowsの? Linux? Mac OS X?その他? –

+0

Mac OS Xには何が使われますか? – Aristides

答えて

16

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

NASM(Netwideアセンブラ)はLinux用の人気のアセンブラであるための一つですが、あまりにもWindowsで提供されています。 NASMは、16ビット、32ビット、64ビットのプログラムをサポートしています。

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

あなたの要件に応じてMASMを選択することをお勧めします。

+1

NASMはWindowsでも利用できます。 – stmax

+0

@stmaxが更新されました!ありがとう:) –

+0

ありがとうPavan。構文に違いはありますか? – user997112

0

だけRosAsm

  • セルフコンパイル可能なソースコード
  • NASM触発構文
  • である統合されたIDEのようないくつかのinterrestingポイントを持っているWindowsのみ32ビットアセンブラで、それについて伝えるために
  • 高レベル言語設計のための強力なマクロシステム
  • 生産された.exeと.dll(PEセクション内)の中にソースコードを格納することの特殊性。 64ビットのサポートについては

、RosAsmはその貢献者の1が、どれも現在64ビット書き換え(BUAsm、ボトムアップのアセンブラ)