ASM:MASM,NASM,FASM?

时间:2012-04-16 18:55:11

标签: assembly intel nasm masm fasm

我已完成ARM汇编编程,我想学习英特尔汇编程序。我一直听到所提到的所有这些不同的F / M / N / ASM-但我不确定它们与我希望实现的目标有什么关系?

有人可以帮我确定一下我需要学习如何在英特尔架构上编程低级别吗?我不太明白“不同的汇编”是如何关联的,x86,IA64,AMD64 / x86-64等更是如此?

如果有任何帮助,我最熟悉Eclipse和Visual Studio 08/10 IDE。

2 个答案:

答案 0 :(得分:20)

MASM(Microsoft Assembler)是Windows的流行汇编程序。 MASM适用于16位和32位应用程序(x86)。 ML64是64位来源(AMD64/x86-64

NASM(Netwide Assembler)是Linux的流行汇编程序,但也可以Windows使用。 NASM支持16位,32位和64位程序。

FASM(Flat Assembler)适用于Windows和Linux。 FASM也支持32位和64位程序。

所以我想你更愿意根据你的要求选择MASM

答案 1 :(得分:-1)

只是告诉它,RosAsm是一个只有Windows的32位汇编程序,它有几个有趣的点,如

  • 使用可用源代码自我编译的集成IDE
  • NASM启发语法
  • 用于高级语言设计的强大宏系统
  • 将源代码存储在生成的.exe和.dll中的特殊性(在PE部分中)。

关于64位支持,RosAsm没有,但其中一个贡献者目前正在进行64位重写(BUAsm,自下而上的汇编程序)