- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二章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
您可能关注的文档
- 九章食品添加剂概论.ppt
- 九讲国际投资理论.ppt
- 九讲国际储备.ppt
- 九讲法的适用专题.ppt
- 九讲求一个小数的近似数.ppt
- 九讲电子支付.ppt
- 九节各种积分间的关系.ppt
- 九讲电视体育新闻写作.ppt
- 九讲现代文阅读㈡.ppt
- 九讲通讯.ppt
- 上海市宝山区2025-2026学年第一学期期末考试高三英语试卷(含答案).pdf
- 云南省普洱市镇沅县第一中学2025-2026学年高二上学期期中考试语文试题(含答案).pdf
- 天津市扶轮中学2025-2026学年高一上学期第一次月考英语试题(含答案).pdf
- 上海市杨浦区2026届高三一模英语试题(含答案).pdf
- 湖北省八校联考2025-2026学年高二上学期月考语文试题(含答案).pdf
- 山西省介休市第一中学校2025-2026学年高二上学期期中考试英语试卷(含答案,无听力原文及音频).pdf
- 江苏省无锡市梅村高级中学2025-2026学年高二上学期期中英语试题(含答案).pdf
- 山东省临沂市临沭县2025-2026学年九年级(上)期中化学试卷(含答案).pdf
- 山东省菏泽市2025-2026学年高二上学期期中考试英语(B)试卷(含答案,无听力原文及音频).pdf
- IPO审核耗时与首发股票市场表现.pdf
最近下载
- 第2章化学药物工艺路线的设计和选择研究报告.ppt
- 610821017856A03BG100河西联办煤矿隐蔽致灾因素普查报告修编7.19 (2)(1).docx VIP
- InSAR滑坡识别与监测.pptx VIP
- 政治经济学课件-社会主义市场经济体制.ppt VIP
- Unit 6 Useful numbers Part A(课件)人教PEP版(2024)英语三年级上册.pptx VIP
- 美卡素治疗高血压.ppt VIP
- 医院数据沙箱管理控制 .ppt VIP
- 青岛版科学六年级上册期末综合测试卷(含答案).pdf VIP
- 12YD18 太阳能光伏发电系统设计与安装.docx VIP
- 三维细胞培养技术的发展及其在干细胞和肿瘤细胞.PDF VIP
原创力文档


文档评论(0)