先下载、编译nasm汇编器。NASM汇编器官网如下图所示:
可以点图中的List进入历史版本下载网址:
我这里下载的是nasm-2.15.05.tar.bz2
在CentOS 7中,使用 wget http://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
下载。
mkdir /nasm
在根目录下创建nasm目录用于放置源代码。
tar -xjvf nasm-2.15.05.tar.bz2 -C /nasm
用于解压源代码,发现报错:
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
这是因为少了解压bzip2的程序,使用yum -y install bzip2
就能安装,出现“complete!”就是安装成功。
再次使用tar -xjvf nasm-2.15.05.tar.bz2 -C /nasm
就能成功解压。
cd /nasm/nasm-2.15.05/
进入解压之后的目录。
./configure
进行配置文件生成,下图是成功的标识。
使用make install
开始安装。
安装成功下图:
使用ld -v
看一下自己的操作系统安装ld连接器没,要是正常显示版本号,那么就是安装了。如下图所示就是安装成功了:
一般Linux发行版已经默认安装了ld链接器。
下边是64位汇编源代码:
section .data
stringtoshow db "Hello, World!",10,0
stringlength equ 14
section .bss
section .text
_start
_start:
mov rax,1
mov rdi,1
mov rsi,stringtoshow
mov rdx,stringlength
syscall
mov rax,60
mov rdi,0
syscall