• 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。

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

  1. 汇编学习笔记(4)-伪指令(MASM)

    前言 编写汇编代码的时候会使用到两种语句,一种就是前面介绍的汇编指令又CPU提供功能支持,另一种呢叫做伪指令,伪指令是由汇编的编译器提供支持.所以伪指令的运行结果都必须实在编译的时候就能确定的,下面介 ...

  2. 计算机系统要素--第六章,01-HACK汇编编译器模块介绍

    从零开始构建现代计算机--第六章,01-HACK汇编编译器模块介绍 语法分析器(Parser) 编码(Code) 无符号程序的汇编编译器 符号表(Symbol Table) 有符号程序的汇编编译器 H ...

  3. debug和汇编编译器masm对指令不同的处理

    debug和汇编编译器masm对指令不同的处理 1.在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用[...]来表示内存单元.如果 在[  ]里用一个常量idata直接给出内存单元的偏移地 ...

  4. 《计算机系统要素》 第六章 汇编编译器

    6.1 背景知识 符号化的语言称为汇编,翻译程序称为汇编编译器,汇编编译器对每个汇编命令的所有部分进行解析,将每个部分翻译成它对应的二进制码,并将生成的二进制码汇编成真正能被硬件执行的二进制指令. 编 ...

  5. 用AntlR4实现简单的汇编编译器

    最近在学习<计算机系统要素--从零构建现代计算机>这本书,花了两天时间用antlr4把书中第6章的汇编编译器实现了. 输出的机器指令和参考答案完全一致. 下面把antlr4的代码贴出来,供 ...

  6. linux汇编编译器:GAS和NASM的比较

    GAS即GNU AS汇编编译器,其属于AT&T风格,我们常用的GNU的产品还有GCC/G++ NASM是Linux平台下常用的汇编编译器,是intel风格的汇编编译器 MASM是Windows ...

  7. 计算机系统要素--第六章,02-HACK汇编编译器实现

    从零开始构建现代计算机--第六章,02-HACK汇编编译器实现 要点 A-指令 C-指令 符号表 python实现 要点 关心三点: A指令,C指令,符号表 A-指令 A指令:将@num的num转为1 ...

  8. 计算机系统要素:第六章 Part2 汇编编译器(symbol)

    要给汇编编译器加入符号,首先要明确这个汇编编译器有哪些符号: 预定义符号:SP,LCL等,这些符号预先就在SymbleTable中定义好了对应内存的地址 变量variables:注意,变量是在第二遍读 ...

  9. gcc的ar工具及as汇编编译器入门练习及curses库

    gcc的ar工具及as汇编编译器入门练习及curses库 目标 参考资料 一.ar工具使用 1.编写三个函数main.c/sub1.c/sub2.c 2.将x2x.x2y目标文件用 ar工具生成1个 ...

最新文章

  1. linux 下 c++ clock 函数理解
  2. c语言锐龙,AMD官方:锐龙5000抗热可以达到95°C 没问题!
  3. asyncio结合线程池
  4. SQL SERVER 2008的错误日志太大
  5. Android中Parcelable和Serializable接口用法
  6. Rust : async、await 初探
  7. web sevice 生成代理类及使用
  8. 嵌入式系统开发项目管理
  9. HDU 6143 Killer Names
  10. Maxwell:异构数据源实时同步工具
  11. 熊出没机器人光头强_熊出没:光头强的最强发明,第2件砍树神器,最后1件价值千万!...
  12. 考研数学一二重积分常见解题思路
  13. pandoc 转换html,使用pandoc实现markdown和latex以及html的互转
  14. OnTheHub 免费取得Offfice/Windows 正版序号,学生/教师限定
  15. NEMU PA1实验思路
  16. MagicBook屏幕频闪解决方案(Windows、MacOS)
  17. Win10 如何禁用BitLocker加密cmd命令
  18. python画图怎样写文字_python画图系列之个性化显示x轴区段文字的实例
  19. 【渝粤题库】陕西师范大学292331 证券投资学Ⅰ作业(高起专)
  20. Android自定义View教你一步一步实现即刻点赞效果

热门文章

  1. 10岁娃获“信息学奥赛”省一等奖
  2. 关于仙童八叛徒(转)
  3. again计算机谱子,Again钢琴简谱-数字双手-YUI
  4. 图像处理职位面试题汇总(1)
  5. 并购Opera,360之蜜糖,猎豹之砒霜
  6. 网络游戏服务器架构流程
  7. 可以测试流放之路伤害的软件,测试平台及细节一览 - 《流放之路》国服硬件需求测试:低配也能续写ARPG传奇 - 超能网...
  8. windows7 x64系统 不能安装MTP驱动
  9. 宜明昂科在港交所递表:2021年亏损翻倍,过往融资额存在夸大情形
  10. 学生-课程数据库—初识sql语句(04)(注释版)