gpt4 book ai didi

windows - masm32 和 masm 的区别?

转载 作者:可可西里 更新时间:2023-11-01 13:33:06 39 4
gpt4 key购买 nike

我正在尝试学习 windows 汇编,发现有 2 个汇编程序:

马斯姆:https://www.microsoft.com/downloads/en/details.aspx?FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64

masm32:http://masm32.com/index.htm

这些是等价的吗?我应该选择哪一个来学习 windows 汇编?

最佳答案

两者都是 MASM(显然),只是版本不同。我通常会使用官方 (MS) 链接。MASM 现在也是 Windows SDK 的一部分 - 如果您安装它,它会在 bin 目录中包含 ML.exe

如果您只是用它来学习汇编语言,那么使用的 MASM 版本并没有太大区别。较新版本的 MASM 添加了对 64 位 (ML64.exe) 的支持,并且在将新指令添加到 x86 指令集中时也添加了这些指令,但仅此而已。不同汇编程序之间的主要区别在于不同的方言。 x86 汇编语言有 3 种主要的方言:MASM 语法、NASM 语法和 Unix 风格的 as 语法(以前也有 Borland TASM,但现在几乎已经过时了)。 MASM、NASM 和 YASM 都使用相同的指令和寄存器名称,但约定略有不同(dword ptr [blah] vs. dword [blah] 等)不同的宏语言。 MASM 还具有一些其他汇编程序中不存在的高级结构,如 .if/.endifinvoke 等。这是否有利是个人喜好问题,我个人更喜欢 NASM 风格的语法,因为它更规则,而且我发现宏预处理器使用起来更方便,但这是个人喜好问题。

as 是另一回事。它使用完全不同的语法和指令名称,与英特尔手册中给出的不同。它是大多数 Unix 变体(以及来自该环境的编译器,例如 GCC)的默认设置,但在该环境之外基本上未使用。当前版本的 GNU as 也支持 Intel 语法,这使得大部分语法差异都消失了,但是 as 通常主要用作编译器的后端汇编程序,而不是成熟的宏汇编程序,因此与 MASM 或 NASM/YASM 相比,它的功能集仍然非常有限。

关于windows - masm32 和 masm 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075870/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com