windows – masm32和masm之间的区别?
我正在尝试学习
Windows的程序集,并看到有2个汇编程序:
masm: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汇编语言有三种主要方言:MASM语法,NASM语法和Unix风格的语法(以前也有Borland TASM,但现在已经非常死了). MASM,NASM和YASM都使用相同的指令和寄存器名称,但有一些略有不同的约定(dword ptr [blah]与dword [blah]等)和完全不同的宏语言. MASM还有一些更高级的构造,如.if / .endif,invoke等,在其他Assemblers中不存在.无论这种优势与否都是品味问题,我个人更喜欢NASM风格的语法,因为它更经常,我发现宏预处理器使用起来更方便,但这是一个品味问题. 这是另一回事.它使用与英特尔手册中给出的完全不同的语法和指令名称.它是大多数Unix变体(以及来自该环境的编译器,例如GCC)的默认设置,但在该环境之外基本未使用.当前版本的GNU也支持Intel语法,这使得大多数语法差异消失了,但一般来说主要是作为编译器的后端汇编程序,而不是一个完全成熟的宏汇编程序,所以它仍然具有非常有限的功能集与MASM或NASM / YASM相比. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows下Tomcat内存占用过高问题跟踪(ProcessExplorer+jst
- Windows Defender Antivirus从C#扫描[AccessViolation exce
- azure – 如何在没有用户交互的情况下授权服务使用Microsof
- Windows Embedded Compact 7上真正的Silverlight支持?
- windows-services – 由Windows服务启动的可执行文件使用本
- windows-phone-7 – 即使不可见,PerformanceProgressBar也会
- .net – 为什么System.Windows.MessageBoxImage具有相同值的
- .net – Windows窗体:捕获MouseWheel
- Windows下安装Redis
- windows-server-2003 – 如何从Windows Server 2003 SBS到2
- windows-update – 我们应该安装Windows安全更新
- windows route
- windows – 解决托管和本机堆栈跟踪 – 要使用哪
- Windows工作流(WF):将一个活动的输出作为序列中
- 使用putty配套工具pscp实现windows向Linux传送文
- windows-server-2008 – 从NSD区域传输Windows S
- Microsoft SQL中的MySQL longtext模拟?
- winapi – 如何在调整win32窗口大小时绘制OpenGL
- .net – 在Windows CE 6.0和Windows Mobile 6.1下
- windows平台xFsRedir程序更新(虚拟磁盘镜像存储