linux下的c语言开发(at&t 汇编语言)

linux下的c语言开发(at&t 汇编语言)

ID:5324233

大小:317.65 KB

页数:3页

时间:2017-12-08

linux下的c语言开发(at&t 汇编语言)_第1页
linux下的c语言开发(at&t 汇编语言)_第2页
linux下的c语言开发(at&t 汇编语言)_第3页
资源描述:

《linux下的c语言开发(at&t 汇编语言)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、本文由兰州中研白癜风研究院http://www.lzbdf120.com/收集,转载请注明出处linux下的C语言开发(AT&T汇编语言)同样是x86的cpu,但是却可以用不同形式的汇编语言来表示。在window上面我们使用的更多是intel格式的汇编语言,而在Linux系统上面使用的更多的常常是AT&T格式的汇编语言。那什么是AT&T格式的汇编代码呢?我们可以写一个试试看。[cpp]viewplaincopy1..data2.message:.string"hello!"3.length=.-message4.5..text6..global_start7.8._start:9

2、.movl$length,%edx10.movl$message,%ecx11.movl$1,%ebx12.movl$4,%eax13.int$0x8014.15.movl$0,%ebx16.movl$1,%eax17.int$0x80这是一个简单的汇编文件,我们可以分两步进行编译。首先,输入as-gstabs-ohello.ohello.s,接着输入ld-ohellohello.o即可。为了验证执行文件是否正确,可以输入./hello验证一下。本文由兰州中研白癜风研究院http://www.lzbdf120.com/收集,转载请注明出处本文由兰州中研白癜风研究院http://www

3、.lzbdf120.com/收集,转载请注明出处在as命令当中,由于我们使用了-gstabs选项,因此在hello执行文件中是包含调试信息的。所以,如果想单步调试的朋友可以输入gdbhello进行调试。那么,hello执行文件反汇编的代码又是什么样的呢?我们可以输入objdump-S-dhello查看一下。[cpp]viewplaincopy1.08048074<_start>:2..text3..global_start4.5._start:6.movl$length,%edx7.8048074:ba08000000mov$0x8,%edx8.movl$message,%ecx9.

4、8048079:b99c900408mov$0x804909c,%ecx10.movl$1,%ebx11.804807e:bb01000000mov$0x1,%ebx12.movl$4,%eax13.8048083:b804000000mov$0x4,%eax14.int$0x8015.8048088:cd80int$0x8016.17.movl$0,%ebx18.804808a:bb00000000mov$0x0,%ebx19.movl$1,%eax本文由兰州中研白癜风研究院http://www.lzbdf120.com/收集,转载请注明出处本文由兰州中研白癜风研究院http://

5、www.lzbdf120.com/收集,转载请注明出处20.804808f:b801000000mov$0x1,%eax21.int$0x8022.8048094:cd80int$0x8023.ret24.8048096:c3ret25.本文由兰州中研白癜风研究院http://www.lzbdf120.com/收集,转载请注明出处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。