程序的机器级表示

来源:互联网 发布:程序员小品剧本 编辑:程序博客网 时间: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 数据对齐