Windows平台NASM汇编语言环境搭建
本文简单介绍以下Windows平台NASM汇编环境的搭建。
1. NASM汇编语言环境搭建
汇编语言有Intel格式
和AT&T格式
。Windows平台Intel格式最常用的两种汇编工具是: MASM和NASM。
- MASM:MASM是Microsoft Macro Assembler的缩写,是微软公司为x86微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。
ps: MASM是为数不多的微软开发工具之一,没有单独的16位和32位版本。 汇编程序为程序员提供了额外的性能,这是一种基于性能的解决方案的三管齐下方法。显然MASM是微软自己的独有的,不开源,且只能用于Windows平台。
- NASM全称为Netwide Assembler ,是一款基于x86架构的汇编与反汇编软件。它可以用来编写16位(8086、80286等)、32位(IA-32)和64位(x86_64)的程序。 NASM被认为是Linux平台上最受欢迎的汇编工具之一。
1.1 NASM汇编相关资料
国内NASM的学习资料很少,下面这本适合入门。
1) 汇编语言程序设计
2) x86汇编语言
如下这本则是一个深入NASM的神书,豆瓣评分高达9.1,此书教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。
ps: 李忠的书甚至可以媲美如下这个评分高达9.7的神书——王爽的《汇编语言》。当然,王爽的书基于MASM,不少内容也过于陈旧,只能作为我的参考了
3) 汇编语言
1.2 NASM环境搭建过程
到NASM官网下载,当前NASM的stable版本是2.16.01,选择其中的win32或者win64版本即可。
比如我把下载的文件解压缩到如下目录:D:\C\nasm-2.15.05-win32
然后添加该路径到Path环境变量,这样nasm环境就搭建好了。
下面是万年不变的hello world来了:
把以上代码保存为demo.asm,然后在cmd下输入如下指令,输出了“Hello world!”
这里nasm把.asm汇编程序做成.obj文件。然后用gcc就可以制作exe文件。当然,制作exe还有很多种其他方式,这里选择gcc的优势是:当有dll时,我可以直接依赖dll,而不需要lib文件。就这一个优势,就秒杀了其它一众软件。
[参看]