程序的机器级表示
来源:互联网 发布:程序员小品剧本 编辑:程序博客网 时间:2024/05/17 20:23
1 程序编码
gcc -O1 -S/o 文件名
汇编代码.s,目标代码.o,可执行代码 。exe
反汇编代码:objdump -d* .o
2 数据格式
char 1,short 2,int 4,long 4,float 4,double1 8
3访问信息
8个寄存器
eax,ecx, edx, ebx, edi, esi, ebp, esp
4 操作类型
寄存器,立即数,存储器
5 算术和逻辑操作
加载有效地址
leal
一元操作和二元操作
既是源又是目的
6 移位操作
SAR算术移位,SHR逻辑移位
7控制
条件码:
CF:进位标志
ZF:零标志
SF:符号标志
OF:溢出标志
8 访问条件码
9 跳转指令以及编码
10 翻译分支
11 过程
:将数据和控制从代码的一部分传递到另一部分。
:必须在进入时为过程的局部变量分配空间,并在退出时释放空间。
12 栈帧结构
栈帧:单个过程空间
帧指针,栈指针
13转移移动
call ,leave,ret
14 递归过程
15 数组的分配和访问
基本原则
:
16 变长数组
17 结构
18 数据对齐
阅读全文
0 0
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序的机器级表示
- 程序机器级表示
- chap3: 程序的机器级表示
- 程序的机器级表示(一)
- 程序的机器级表示(二)
- 第三章 程序的机器级表示
- destoon各个模块数据的调用
- Android 进阶学习
- 01 组态王初探
- struts2与springMvc下的AJax异步数据交互1
- Akita与脉冲云的关系
- 程序的机器级表示
- 数据库的一些语句优化小技巧
- laravel 接收get传值Request
- C++std命名空间详解
- 5---(1)语义化标签
- 关于EMD算法的认知
- 使用FileChannel来实现文件快速复制(下载)
- Hadoop之Mapreducer里的Partitioner(笔记25)
- 需求--EPPA论文笔记(1)