linux 下第一个汇编程序

发布: 2007-11-29 15:50

将下面的代码分别保存为 sasm.s, Makefile , 然后执行make可编译此汇编程序。输入 ./ta ,执行结果为: "hello world"


代码如下:


##############sasm.s


.section .data

hello:

    .ascii "hello worldn"

.section .bss

.section .text

.globl _start

_start:

    movl $4, %eax

    movl $1, %ebx

    movl $hello, %ecx

    movl $12, %edx

    int $0x80

   

    movl $1, %eax

    movl $0, %ebx

    int $0x80



####################sasm.s


######################Makefile


all: ta



ta: sasm.o

    ld -o $@ $<



.s.o:

    as  --gstabs -o $@ $<

   

clean:

    rm -fv *.o ta


######################Makefile


 


下面给出汇编程序的模板,也就是最简单的汇编程序,什么也不做,启动立即退出:


##############tpl.s


.section .data

.section .bss

.section .text

.globl _start

_start:

    movl $1, %eax

    movl $0, %ebx

    int $0x80



##############tpl.s


说明:最后三条指令执行系统调用 exit(0)


注: 以上汇编语法使用 AT&T 语法, 使用 gnu as 或者 gcc 编译。


 



原文: http://qtchina.tk/?q=node/108

Powered by zexport