简单的汇编程序
#PURPOSE: Simple program that exits and returns a
# status code back to the Linux kernel
#
#INPUT: none
#
#OUTPUT: returns a status code. This can be viewed
# by typing
#
# echo $?
#
# after running the program
#
#VARIABLES:
# %eax holds the system call number
# %ebx holds the return status
#
.section .data
.section .text
.globl _start
_start:
movl $1, %eax # this is the linux kernel command
# number (system call) for exiting
# a program
movl $4, %ebx # this is the status number we will
# return to the operating system.
# Change this around and it will
# return different things to
# echo $?
int $0x80 # this wakes up the kernel to run
# the exit command
把这个程序保存成文件 test.s(汇编程序通常以 .s 作为文件名后缀),用汇编器 (Assembler)as 把汇编程序中的助记符翻译成机器指令,生成目标文件 test.o:
[test@localhost Assembler]$ as test.s -o test.o
然后用链接器(Linker,或Link Editor)ld 把目标文件 test.o 链接成可执行文件 test:
[test@l