- 14
- 0
- 约1.15万字
- 约 36页
- 2017-06-07 发布于河南
- 举报
AT
第二章 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
您可能关注的文档
- 电大电算化理论考核_0056.doc
- 三角形三条高线交于一点的证明.doc
- 用友U8上机实验账套.doc
- 2014宝界终端准入--DHCP准入实施方案.doc
- 电大会计电算化理论题.doc
- 电算化会计单选题.doc
- 第二章 数据库的概念结构设计.doc
- 公司法复习题(部分答案).doc
- 财务管理信息系统复习答案.doc
- 文件管理习题及答案.doc
- 2025广东广州市天河区拟招聘英语实习老师1人备考题库附答案.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷附答案解析.docx
- 2025广东广州市越秀区流花街道办事处招聘综合事务中心辅助人员1人笔试历年题库附答案解析.docx
- 2025广东广州市花都区新雅街清初级中学招聘临聘教师1人备考历年题库带答案解析.docx
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人笔试备考试卷带答案解析.docx
- 江苏省盐城市东台市三仓镇区中学2026届八年级数学第一学期期末教学质量检测试题含解析.doc
- 2025广东广州市天河区城市管理第二保洁所招聘编外工作人员4人备考题库带答案解析.docx
- 江苏省盐城市亭湖区2026届数学八上期末考试试题含解析.doc
- 安徽省蚌埠市淮上区2026届数学八年级第一学期期末达标检测模拟试题含解析.doc
- 2025广东广湛城旅游轮有限公司招聘备考历年题库附答案解析.docx
最近下载
- 一次函数竞赛试题0.doc VIP
- 公司经营班子会议议事规则.pdf VIP
- 2025年全国中考历史真题分类汇编.docx VIP
- 医用控温仪产品技术要求参考版.pdf
- 2025年中考历史全国真题分类汇编:世界现代史.doc VIP
- 14G443:预制带肋底板混凝土叠合楼板 .docx VIP
- 高考调频考点(圆锥曲线)7、椭圆、双曲线的坐标版焦半径公式.pdf VIP
- 2023年山东水利职业学院单招综合素质考试试题及答案解析.docx VIP
- 2023年山东水利职业学院单招考试综合素质模拟试题及答案解析.docx VIP
- 福建省宁德市2024-2025学年八年级上学期期末考试历史试题.pdf VIP
原创力文档

文档评论(0)