对几个汇编编译器的初步评价(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。
对几个汇编编译器的初步评价(MASM/FASM/NASM/GOASM)相关推荐
- 汇编学习笔记(4)-伪指令(MASM)
前言 编写汇编代码的时候会使用到两种语句,一种就是前面介绍的汇编指令又CPU提供功能支持,另一种呢叫做伪指令,伪指令是由汇编的编译器提供支持.所以伪指令的运行结果都必须实在编译的时候就能确定的,下面介 ...
- 计算机系统要素--第六章,01-HACK汇编编译器模块介绍
从零开始构建现代计算机--第六章,01-HACK汇编编译器模块介绍 语法分析器(Parser) 编码(Code) 无符号程序的汇编编译器 符号表(Symbol Table) 有符号程序的汇编编译器 H ...
- debug和汇编编译器masm对指令不同的处理
debug和汇编编译器masm对指令不同的处理 1.在汇编源程序中,如果用指令访问一个内存单元,则在指令中必须用[...]来表示内存单元.如果 在[ ]里用一个常量idata直接给出内存单元的偏移地 ...
- 《计算机系统要素》 第六章 汇编编译器
6.1 背景知识 符号化的语言称为汇编,翻译程序称为汇编编译器,汇编编译器对每个汇编命令的所有部分进行解析,将每个部分翻译成它对应的二进制码,并将生成的二进制码汇编成真正能被硬件执行的二进制指令. 编 ...
- 用AntlR4实现简单的汇编编译器
最近在学习<计算机系统要素--从零构建现代计算机>这本书,花了两天时间用antlr4把书中第6章的汇编编译器实现了. 输出的机器指令和参考答案完全一致. 下面把antlr4的代码贴出来,供 ...
- linux汇编编译器:GAS和NASM的比较
GAS即GNU AS汇编编译器,其属于AT&T风格,我们常用的GNU的产品还有GCC/G++ NASM是Linux平台下常用的汇编编译器,是intel风格的汇编编译器 MASM是Windows ...
- 计算机系统要素--第六章,02-HACK汇编编译器实现
从零开始构建现代计算机--第六章,02-HACK汇编编译器实现 要点 A-指令 C-指令 符号表 python实现 要点 关心三点: A指令,C指令,符号表 A-指令 A指令:将@num的num转为1 ...
- 计算机系统要素:第六章 Part2 汇编编译器(symbol)
要给汇编编译器加入符号,首先要明确这个汇编编译器有哪些符号: 预定义符号:SP,LCL等,这些符号预先就在SymbleTable中定义好了对应内存的地址 变量variables:注意,变量是在第二遍读 ...
- gcc的ar工具及as汇编编译器入门练习及curses库
gcc的ar工具及as汇编编译器入门练习及curses库 目标 参考资料 一.ar工具使用 1.编写三个函数main.c/sub1.c/sub2.c 2.将x2x.x2y目标文件用 ar工具生成1个 ...
最新文章
- linux 下 c++ clock 函数理解
- c语言锐龙,AMD官方:锐龙5000抗热可以达到95°C 没问题!
- asyncio结合线程池
- SQL SERVER 2008的错误日志太大
- Android中Parcelable和Serializable接口用法
- Rust : async、await 初探
- web sevice 生成代理类及使用
- 嵌入式系统开发项目管理
- HDU 6143 Killer Names
- Maxwell:异构数据源实时同步工具
- 熊出没机器人光头强_熊出没:光头强的最强发明,第2件砍树神器,最后1件价值千万!...
- 考研数学一二重积分常见解题思路
- pandoc 转换html,使用pandoc实现markdown和latex以及html的互转
- OnTheHub 免费取得Offfice/Windows 正版序号,学生/教师限定
- NEMU PA1实验思路
- MagicBook屏幕频闪解决方案(Windows、MacOS)
- Win10 如何禁用BitLocker加密cmd命令
- python画图怎样写文字_python画图系列之个性化显示x轴区段文字的实例
- 【渝粤题库】陕西师范大学292331 证券投资学Ⅰ作业(高起专)
- Android自定义View教你一步一步实现即刻点赞效果
热门文章
- 10岁娃获“信息学奥赛”省一等奖
- 关于仙童八叛徒(转)
- again计算机谱子,Again钢琴简谱-数字双手-YUI
- 图像处理职位面试题汇总(1)
- 并购Opera,360之蜜糖,猎豹之砒霜
- 网络游戏服务器架构流程
- 可以测试流放之路伤害的软件,测试平台及细节一览 - 《流放之路》国服硬件需求测试:低配也能续写ARPG传奇 - 超能网...
- windows7 x64系统 不能安装MTP驱动
- 宜明昂科在港交所递表:2021年亏损翻倍,过往融资额存在夸大情形
- 学生-课程数据库—初识sql语句(04)(注释版)