汇编1
来源:互联网 发布:php获取物理地址 编辑:程序博客网 时间:2024/05/16 09:53
.datahello:.ascii "hello".text.global _start_start:movl $4,%eaxmovl $1,%ebxmovl $hello,%ecxmovl $5,%edxint $0x80
eax:4 ebx:1,write系统调用,1代表STDOUT_FILENO
.global _start_start:movl $1,%eaxmovl $2,%ebxint $0x80
编译:as -o m.o m.s
链接:ld -o m m.s
看出的问题:
没有.text,.data,.bss三个段也可以,不过最后生成的可执行文件还是会有这几个段的,而且还会多加几个段。
问题1:直接as m.s会生成a.out,但是不能执行。
问题2:直接gcc m.s,_start重定义了
.global mainmain:mov $1,%eaxmov $2,%ebxint $0x80
由这个对比,可以知道
gcc只要有main函数就行,因为他默认会链接一个包含有_start函数的模块(额,没搞清楚是哪个模块)。
ld只要有_start函数就行,因为他不会多链接什么函数。
总结:加载器加载的时候肯定_start函数,这个应该是链接脚本决定的。
问题1:_start是在哪个模块?
问题2:链接脚本,加载器,glibc是什么关系?
- 汇编1
- 汇编1
- 汇编1
- 汇编1
- 汇编1
- 汇编1
- 汇编-1
- 汇编1
- 汇编学习笔记(1)
- 汇编学习笔记~1
- 汇编学习(1)
- 汇编的基础知识(1)
- 汇编学习(1)
- 汇编技巧 1
- x86汇编指令(1)
- 8086汇编(1)
- 汇编心得1
- 1:汇编基本元素
- eclipse 导出jar文件 并转为.exe
- The Struts dispatcher cannot be found.
- c# WaitN NUnit实现单元自动化测试
- ATI Catalyst Tm Control Center是ATI的显卡驱动设置工具
- Photoshop及图像直方图
- 汇编1
- 【phpcms-v9】对{pc}标签进行二次开发,让其可以获取limit指定的文章条数
- CFile和CStdioFile
- boost::asio学习文章
- 淡定人生,享受平静
- Windows下Qt编译环境搭建及编译命令 (转)
- android操作sdcard中的多媒体文件
- 图像指数、对数增强、直方图均衡化
- DT机试