nasm fasm yasm 还是masm、gas

留个爪,稍后学习

选择编译器
nasm?fasm?yasm?还是masm、gas或其他?

前面三个是免费开源的汇编编译器,总体上来讲都使用Intel的语法。yasm是在nasm的基础上开发的,与nasm同宗。由于使用了相同的语法,因此nasm的代码可以直接用yasm来编译。

yasm虽然更新较慢,但对nasm一些不合理的地方进行了改良。从这个角度来看,yasm比nasm更优秀些,而nasm更新快,能支持更新的指令集。在Windows平台上,fasm是另一个不错的选择,平台支持比较好,可以直接用来开发Windows上的程序,语法也比较独特。在对Windows程序结构的支持上,fasm是3个免费的编译器里做得最好的。

masm是微软发布的汇编编译器,现在已经停止单独发布,被融合在Visual Studio产品中。gas是Linux平台上的免费开源汇编编译器,使用AT&T的汇编语法,使用起来比较麻烦。

由于本书的例子是在祼机上直接运行,因此笔者使用nasm,因为它的语法比较简洁,使用方法简单,更新速度非常快。不过如果要是用nasm来写Windows程序则是比较痛苦的,这方面的文档很少。

从nasm的官网可以下载最新的版本:http://www.nasm.us/pub/nasm/releasebuilds/?C=M,也可以浏览和下载其文档:http://www.nasm.us/docs.php。

参考:

http://book.2cto.com/201209/5464.html
http://blog.csdn.net/broadview2006/article/details/8176974
http://blog.csdn.net/broadview2006/article/details/8181182
http://blog.csdn.net/broadview2006/article/details/8058755

编程ING:人人都能学会程序设计

http://blog.csdn.net/broadview2006/article/details/7789622

支撑处理器的技术——永无止境地追求速度的世界

http://blog.csdn.net/broadview2006/article/details/8174696

-----------------------------------------

特别需要补充的两个开源软件是:FreeDOS,MiniGUI

时间: 2024-10-05 15:21:57

nasm fasm yasm 还是masm、gas的相关文章

编写自定义PE结构的程序(如何手写一个PE,高级编译器都是编译好的PE头部,例如MASM,TASM等,NASM,FASM是低级编译器.可以自定义结构)

正在学PE结构...感谢个位大哥的文章和资料...这里先说声谢谢 一般高级编译器都是编译好的PE头部,例如MASM,TASM等一直都说NASM,FASM是低级编译器.可以自定义结构但是苦于无人发布相关文章说明..我这里就简单的用NASM写一下由于刚学PE结构许多东西都不太懂希望个位大侠指点如何打造一个迷你的PE结构..我暂只只能作到617字节下面随着学习的深入...还有更迷你的PE出现... 代码可以直接编译..编译参数:nasmw -fbin MsgBoxA.asm -o MsgBoxA.ex

Ubuntu 16.04安装NASM汇编IDE-SASM

在Linux下,尤其是Ubuntu,SASM工具应该是用来开发汇编最好用的IDE,小巧且支持调试.支持的编译器有:NASM, MASM, GAS, FASM. 安装步骤: 下载: http://download.opensuse.org/repositories/home:/Dman95/xUbuntu_16.04/amd64/ 安装: sudo dpkg -i sasm_3.8.0_amd64.deb 如果中途提示依赖错误,可以使用sudo apt-get install -f解决. 启动:

sasm 汇编 IDE

SASM 是 NASM, MASM, GAS 和 FASM 汇编语言的跨平台 IDE,简单并且开源(腾云科技ty300.com).SASM 支持语法高亮和调试器,开箱即用,适合汇编语言的初学者(基础教程qkxue.net).遵循 GNU GPL v3.0 开源授权协议,基于 Qt.2013 年发布了 1.0 版本,使用 Python 编写.

FreeSWITCH 安装配置的 各种坑, 填坑

个人安装环境: OS:CentOS6.7 64位 FreeSWITCH Ver:1.6.17 一. 编译出错 安装 之前, 最好 先安装 这几个东西(如果有, 请忽略): yasm (有nasm的话 不用装这个) , opus-devel(可能 提示 libopus-dev 或 libopus-devel 等) , lua-devel , libsndfile-devel , libtiff-devel 当然了,  你也可以 先不管, 等 出错 提示了, 在按照下面的方法安装: 1. 安装 ya

Windows下编译安装 FFmpeg

在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在windows下安装 ffmpeg 的最好方式就是使用Cygwin. Cygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器.然后你可以在这个模拟器上按照Linux的方式操作 Windows系统.因此,Windows安装了Cygwin之后,你就把它当Linux用就可以了. 既然在W

Ubuntu16.06编译libjpeg-turbo库

一.环境依赖 CMake v2.8.12或以后 NASM or YASM (if building x86 or x86-64 SIMD extensions),如果使用NASM, 依赖2.10之后版本. 推荐GCC v4.1 (或之后版本) 或Clang能够获取较好性能 # apt install cmake nasm gcc 二.编译 # mkdir build && cd build # cmake -G"Unix Makefiles" .. # make 原文地

windows 10上源码编译libjpeg-turbo和使用教程 | compile and use libjpeg-turbo on windows 10

本文首发于个人博客https://kezunlin.me/post/83828674/,欢迎阅读! compile and use libjpeg-turbo on windows 10 Series compile and use libjpeg-turbo on windows 10 compile and use libjpeg-turbo on ubuntu 16.04 Guide build requirements Build Requirements cmake 2.8 NASM

nasm 与 masm语法区别

看到一篇文章,是介绍nasm语法的:http://blog.csdn.net/hitop0609/article/details/4329454 masm是微软专门为windows下汇编而写的,而nasm可以在windows.linux等系统下汇编,故而个人推荐使用nasm. 3.1 nasm 是区分大小写 例如:符号 foo 与 FOO 是两个不同的标识符. 3.2 内存操作数表达式 3.2.1 在 nasm 语法里,对 memory 操作数需要加 [ ] 括号 下面的代码: foo equ

Mac FFmpeg编译和解决nasm/yasm not found or too old错误

FFmpeg编译下载代码:git clone https://git.ffmpeg.org/ffmpeg.git然后输入命令进行编译:找到下载的目录下,然后用命令进入这个文件夹下cd ffmpeg,然后输入./configure.竟然没有编译过出现错误是nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. If you think configure made a mistake, make sure