2012-04-16 123 views
22

我已经完成了ARM汇编语言编程,并且希望了解Intel汇编程序。我一直听到所有提到的这些不同的F/M/N/ASM,但我不确定它们与我希望达到的目的有什么关系?ASM:MASM,NASM,FASM?

有人能帮我确定我需要学习如何在英特尔架构上编程低层次吗?我不太清楚“不同的汇编程序”是如何关联的,在x86,IA64,AMD64/x86-64等中更是如此?

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

+0

一定程度上取决于您的首选操作系统 - 视窗? Linux? Mac OS X?其他? – 2012-04-16 18:58:48

+0

什么将用于Mac OS X? – Aristides 2016-10-17 23:30:04

回答

16

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

NASM(网际汇编器)是Linux的流行汇编,但可以用Windows了。 NASM支持16位,32位和64位程序。

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

所以我想你宁愿选择MASM根据您的要求。

+1

NASM也可用于Windows。 – stmax 2012-04-16 19:06:52

+0

@stmax更新!谢谢:) – 2012-04-16 19:10:48

+0

谢谢帕文。语法有什么不同? – user997112 2012-04-16 19:13:29

0

只是告诉它,RosAsm是一个仅适用于Windows 32位汇编有几个interresting点像

  • 集成IDE,它是自编与可用的源代码
  • 一个NASM启发语法
  • 一个功能强大的宏系统,用于高级语言设计
  • 将源代码存储在生成的.exe和.dll(PE部分)中的特殊性。关于64位支持

,RosAsm已经目前正在对64位没有,但它的贡献者之一重写(BUAsm,自下而上汇编)