at&t汇编学习(一)

来源:互联网 发布:linux oracle asm安装 编辑:程序博客网 时间:2024/05/16 08:07

     工作一年了,很是迷茫,一个程序员不知到何去何从,现在互联网上每天都会出现大量的编程语言,大量的新技术,感觉没有自己的方向。

     本人对操作系统感兴趣,工作的方向是xen虚拟化研究,在阅读源码的过程中遇到许多和汇编语言相关的知识,这里总结一下汇编语言。

     找不到方向就积累知识。


     at&t汇编语言的基本框架如下所示

.section .data.section .text.globl _start_start:    movl $1, %eax    movl $0, %ebx     int $0x80 这是一个简单的汇编程序,它的功能非常简单,就是“退出”,将上述代码片段保存成文件exit.s


汇编:

as exit.s -o exit.o
利用as工具将汇编语言汇编成为目标文件(.o文件)

链接:

ld exit.o -o exit
利用ld工具将一个或多个目标文件链接成为可执行文件

执行:

./exit


下面简单介绍一下这段代码的含义

.section是汇编语言的一种“伪指令”,因为这种指令不会被翻译成为机器语言,而只是在汇编器内部使用,不占用存储空间,不会被计算机执行。在linux世界中可执行程序的格式为ELF格式,一个ELF文件由许多段组成,这个伪指令的功能就是标识一个段的起点。

.section .data标识程序数据段的起点,我们可以在这个段中定义任意需要内存的数据,其通常是可读写的。



0 0
原创粉丝点击