- 2
- 0
- 约9.24千字
- 约 36页
- 2018-12-23 发布于福建
- 举报
第二部att汇编语言
第二章 ATT汇编语言 提纲 ATT汇编语言 GCC内嵌汇编 ATT汇编语言 在Linux中,以.S(或.s)为扩展名的文件是包含汇编语言代码的文件。 在Linux下有两种方式对ATT汇编进行编译链接,一种是使用汇编程序GAS和连接程序LD,一种是使用GCC ATT汇编的编译方式 使用汇编程序GAS和连接程序LD 第一步: as sourcecode.s -o objfile.o 将汇编源文件编译成目标文件 第二步:ld objfile.o -o execode 将目标文件链接成可执行文件 使用GCC gcc -o execode sourcecode.S 使用GCC编译一步就可以编译成可执行文件 ATT汇编示例 .data output: .ascii hello world\n .text .globl _start _start: movl $4, %eax movl $1, %ebx movl $output, %ecx movl $12, %edx int $0x80 movl $1, %eax int $0x80 ATT中的节(Section) 在ATT的语法中,一个节由.section关键词来标识,当你编写汇编语言程序时,至少需要有以下三种节: .data节 这种节包含程序已初始化的数据,也就是说,包含具有初值的那些变量 .text节 这个节包含程序的代码。需要指出的是,该节是只读节 ATT中的节(Section) .bss节 这个节包含程序还未初始化的数据,也就是说,包含没有初值的那些变量。当操作系统装入这个程序时将把这些变量都置为0 使用.bss比使用.data的优势在于,.bss节在编译后不占用磁盘的空间,这样编译、连接生成的代码的尺寸会比较小。 尽管在磁盘上不占空间,但是在可执行文件被读入内存后系统还是会为.bss节分配内存 拥有三个节的ATT汇编程序示例 .data output: .ascii hello world\n .text .globl _start _start: movl $4, %eax movl $1, %ebx movl $output, %ecx movl $12, %edx int $0x80 movl $3, %eax movl $1, %ebx ATT汇编语言常见指令 .ascii 语法:.ascii “string” …. ascii 表示零个或多个(用逗号隔开)字符串,并把每个字符串(结尾不自动加“\0”字符)中的字符放在连续的地址单元。于此类似的 .asciz指令定义的字符串会在结尾处自动加 “\0”字符 .fill 语法:.fill repeat , size , value 含义是反复拷贝size个字节,重复repeat次 ,其中size和value是可选的,默认值分别为1和0 ATT汇编语言常见指令 .globl 语法:.globl symbol .globl使得连接程序(ld)能够看到symbol。如果你的局部程序中定义了symbol,那么,与这个局部程序连接的其他局部程序也能存取symbol .rept endr 语法:.rept count ……. .endr 把.rept指令与.endr指令之间的行重复count次 ATT汇编语言常见指令 .space 语法:.space size , fill 这个指令保留size个字节的空间,每个字节的值为fill .byte/.word/.long 语法:.byte/.word/.long expressions 预留1个字节/字/双字,并将这个字节的内容赋值为expression,若是用逗号隔开的多个expression,则为预留多个这样的字节/字/双字,并将它们的内容依次赋值。 .set 设定常数,就好像C程序中的#define的作用一样 ATT 与Intel的汇编语言语法区别 ATT和Intel汇编语言的语法区别主要体现在操作数前缀、赋值方向、间接寻址语法、操作码的后缀上 操作数前缀 ATT 与Intel的汇编语言语法区别 源/目的操作数顺序 ATT 与Inte
您可能关注的文档
最近下载
- 基于MODBUS施耐德PM800系列仪表的使用.docx
- NiTi合金的断裂韧性和应力应变行为.docx VIP
- 金风2.5MW风力发电机组故障手册.pdf
- TSG 31-2025《工业管道安全技术规程》.pdf VIP
- EN 60252-1-2011+A1-2013 交流电动机电容器.第1部分:一般.性能试验和额定值.安全要求.安装和操作指南.pdf VIP
- 【期末卷】2024~2025学年统编版小学五年级语文上学期期末冲刺卷(四)含答案.docx VIP
- 汽车维修专业国家技能人才培养工学一体化课程标准(试用) 教案教学大纲教学标准.docx
- 化学实验室安全注意事项.pptx VIP
- 历史湖南长沙市炎德英才大联考雅礼中学2026届高三月考试卷(五)(1.6-1.7).docx VIP
- 智慧派出所场景智能化应用解决方案【99页WORD】.docx VIP
原创力文档

文档评论(0)