语言 Linux下编译汇编语言实践之旅(linux下编译汇编)

开始了 Linux 下编译汇编语言(Assembly)实践之旅,经过若干步骤,就可以在 Linux 下编写出可以运行的小…

开始了 Linux 下编译汇编语言(Assembly)实践之旅,经过若干步骤,就可以在 Linux 下编写出可以运行的小程序了,这其实也不复杂,但灵活运用各种工具仍需技术。

首先,就是要明确汇编语言编译环境。在 Linux 下有许多种方式来完成这一过程,本文以汇编语言 NASM 为例,来讲述 Linux 下汇编语言开发的一般方法。

NASM 是 GNU 项目的全球领先的自由和开源指令级汇编器,一般来说,在 Ubuntu(Linux)下都会自动安装好 NASM,可以使用命令 apt 查看是否安装:

“`shell

# 在Linux终端(Terminal)中输入

apt list nasm


如果没有安装,那么就可以通过 apt-get 来安装,通常在安装完成后,可以使用 nasm 这个命令来启动:

```shell
# 在Linux终端(Terminal)中输入
sudo apt-get install nasm

接下来就是编码了,在 Ubuntu 终端打开一个新窗口,然后输入命令 vim 新建一个源文件,比如 myAsm.asm,在其中我们就可以输入我们的程序源代码了。

比如一个最简单的“Hello World”程序:

“`asm

global _start

section .data

msg db ‘Hello World!’, 0xA

len equ $ – msg

section .text

_start:

mov eax, 4

mov ebx, 1

mov ecx, msg

mov edx, len

int 0x80

mov ecx, 0

mov eax, 1

int 0x80


完成编写本程序后,在终端中输入命令

```shell
# 在Linux终端(Terminal)中输入
nasm myAsm.asm # 使用 NASM 进行汇编

完成汇编后,会得到一个 myAsm.o 的可执行文件,可以通过 ld 来连接这个文件,生成可执行文件程序:

“`shell

# 在Linux终端(Terminal)中输入

ld -o myBin myAsm.o # 使用 ld 来连接


成功运行以上命令,就会得到一个可执行文件 myBin,我们在终端中输入

```shell
# 在Linux终端(Terminal)中输入
./myBin # 执行可执行文件

就会得到输出 “Hello World!”,表示我们的程序在 Linux 下编译汇编语言成功!

总之,Linux 下编译汇编语言并不是一件太复杂也不是太容易的事情,但如果能理解上面我们提到的几个基本概念,就能够在 Linux 下开发出一些非常有利用价值的程序了,本文就介绍了 Linux 下编译汇编语言实践相关知识,希望对你有所帮助!

香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

ssh远程超时中断的解决办法

有时我们网络正常的,但SSH连接经常出现中断的情况,以及在SSH远程时很慢的问题。 这是由于OpenSSL服务默认启用了...

Linux系统防火墙放行端口

如果您服务器内安装了宝塔面板,请直接登陆宝塔面板,安全,里面添加放行端口。如果添加后不生效,把防火墙开关一下即可。本教程...

Linux主机简单判断被CC攻击的网站命令-比较直接有效

CC攻击很容易发起,并且几乎不需要成本,导致现在的CC攻击越来越多。 大部分搞CC攻击的人,都是用在网上下载的工具,这些...

linux环境下测试get和post请求

Linux环境下测试get和post请求 ?get,post,curl   get请求 curl: curl ...

umount卸载磁盘提示target is busy

umount卸载磁盘提示target is busy. (目标忙) 的问题解决方案   umount卸载磁盘提...
返回顶部