简单汇编代码分析与基础
来源:互联网 发布:linux nano 显示行号 编辑:程序博客网 时间:2024/06/06 05:24
简单汇编代码分析与基础
comA
《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000
现代计算机中最常用的是冯诺依曼体系结构,这种体系结构的特点是:
1、计算机处理的数据和指令一律用二进制数表示
2、顺序执行程序
计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。
3、计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
汇编语言的一些基础知识:
subl执行减法操作
addl执行加法操作
ebp指向栈底(基地址)
esp指向栈顶
eax暂时存储一些数值。
leave指令等同于
movl %ebp,%esp
popl %ebp
enter指令等同于
pushl %ebp
movl %esp,%ebp
在linux系统下汇编一个简单的C语言文件,以及gcc汇编结果:
找出其中的汇编语句以后结果图:
汇编前的C语言代码是:
int g(int x)
{
return x + 3;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(8) + 1;
}
汇编程序分析:
程序首先从main入口进入,形成一个栈。
将值1装入栈,调用f,f留出一段栈空间后调用g。
g将数值3压入栈,执行加法操作将3与8相加,将结果返回f。
f将值返回main,再将值与1相加,得到结果值入栈。
最后将栈中的结果弹出,得到最后结果。
0 0
- 简单汇编代码分析与基础
- 汇编代码的简单分析
- 简单c程序汇编代码分析
- 汇编并分析一段简单C代码
- Linux系统分析入门--简单汇编代码分析
- 反汇编一个简单的C程序,分析汇编代码
- Linux汇编代码学习,反汇编简单的c及分析汇编代码工作过程
- Linux内核分析——简单分析汇编代码
- linux内核分析——简单代码反汇编为汇编代码分析
- 对一个简单C 函数的汇编代码分析
- IDA简单Switch-Case结构的汇编代码分析
- 汇编基础代码_1
- 汇编基础代码_2
- 汇编基础-实例分析
- ARMv7汇编代码分析
- 汇编代码分析
- 反汇编代码分析
- STM8汇编代码分析
- 华为三层交换机做DHCP Server
- ObjectInputStream与ObjectOutputStream类
- Java NIO系列教程(二) Channel原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO的通道类似流,但又有些不同: 既可以从通
- 粘包问题
- major minor version jdk版本对照表
- 简单汇编代码分析与基础
- 欢迎使用CSDN-markdown编辑器
- 配置Eclipse中的编译和运行环境
- Optimizing regular expressions in Java
- C++ RTTI及“反射”技术
- robotium—只有apk文件的测试
- windows 7系统安装方法
- 命令行参数
- 清除Android工程中没用到的资源