计算机是如何工作之简单的程序分析
来源:互联网 发布:apache网站服务器架设 编辑:程序博客网 时间:2024/06/11 23:51
tgut 原创作品转载出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
编写main.c如下小程序
然后
gcc -S -o main.s main.c -m32
然后
vi main.s
看到如下代码(删除一些不相关的代码后)
下面让我们分析一下这些汇编代码:
move$6,(%esp)
call f
pushl %ebp; mov %esp, %ebp;sub $4, %esp
movl %eax,(%esp);
call g;
pushl %ebp;movl %esp,%ebp; /*eax=6
add $2, %eax; /*eax=6+2=8
注释:ebp(main),ebp(f),ebp(g)分别是各个函数的栈底指针。
下面给出一些指令的宏定义:
enter:
push %ebp;
movl %esb,%ebp;
leave:
movl %ebp,%esp;
popl %ebp;
call:
push eip
mov(函数入口地址) eip
ret:
pop eip;
addl $4,%esp ;
0 0
- 计算机是如何工作之简单的程序分析
- 分析一个简单C程序的汇编代码,理解计算机是如何工作的
- 反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- x86平台 通过反汇编简单的从程序,分析理解计算机是如何工作的。
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 计算机是如何工作的?--通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 《Linux内核分析》 之 计算机是如何工作的。1
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的(原创)
- lab1:通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 实验一 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 1、通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 汇编一个简单的C程序,分析代码理解计算机是怎么工作的
- sqlite3使用
- C++编程思想——运行时类型识别
- File io流创建文件
- JAVA容器之List
- other
- 计算机是如何工作之简单的程序分析
- android中IntentService和Service有什么区别
- BZOJ 2938 Poi2000 病毒 AC自动机+拓扑排序
- Java学习之线程总结
- SVN 命令
- CSDN测试Windows Live Writer离线写博客
- JDK,JRE,JVM的区别与联系
- android 性能分析,traceview android自带的性能分析工具,traceview的使用
- #百度地图# android.view.InflateException: Binary XML file line Error inflating class com.baidu.mapapi.ma