对几个汇编编译器的初步评价(MASM/FASM/NASM/GOASM)

  • MASM: 微软经典产品,仅支持Windows平台,唯一完美支持按需编译的编译器1,不支持输出bin格式。非绿色软件,受版权限制不能二次发行(SASM二次发行了多个汇编编译器唯独没有MASM)。

  • NASM: 一直在持续更新的经典产品,跨平台,支持多种输出格式(bin/coff/omf/elf/…)。有不少衍生品如YASM,可那些衍生品还不如本尊NASM命长。

  • FASM: 还在更新,跨平台,支持多种输出格式(包括bin)。作者在汇编GUI领域走的非常远(参见Fresh IDE及其freshlib),我个人感觉有点偏离汇编正途,用力用错了方向,嘿嘿(我用C++/QT写GUI都嫌麻烦更不要说汇编)。

  • GoASM: 仅支持Windows平台,不支持输出bin格式。作者很有想法,做了大量工作简化Windows应用开发。缺点是加入太多自己的东西,有绑架用户的嫌疑,不利于编写可移植代码。JMP label生成长跳转(E9)而不是短跳转(EB)让我挺无语(见下文代码,其文档中视之为unique label)。

.code
jmp main
nop
main:
nop

结论:重视跨平台的优选NASM,次选FASM;Windows平台优选MASM,次选GoASM。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值