.section .data ;数据段开始, 列出程序数据所需的所有内存存储空间
.section .text ;文本段开始, 存放程序指令的部分
.globl _start ;将在汇编或链接进程中被其他内容替换 .globl表示汇编程序不应在汇编之后废弃此符号, 链接器需要它.
_start:
movl $1, %eax ;将数字1移入%eax. $表示要使用立即寻址方式寻址. 没$, 将会进行直接寻址, 加载地址1中的数字
; 数字1 表示系统调用exit, 进行系统调用时, 必须将系统调用号加载到%eax
movl $0, %ebx
int $0x80
wannian07@wannian07-PC:~$ as exit.s -o exit.o
wannian07@wannian07-PC:~$ ld exit.o -o exit
wannian07@wannian07-PC:~$ ./exit
wannian07@wannian07-PC:~$ echo $?
0
https://blog.csdn.net/qq_33528164/article/details/79515645
nasm 和 as是linux下两种编译汇编文件的工具, 对应两种不同类型的汇编语言.
nasm --> Intel
as --> AT&T
这两种语言语法上稍有差别,其实也差不多.
两种工具的简单用法(32bit)
nasm
.section .text ;section declaration
.global _start
_start:
movl edx,len ;third argument: message length