汇编解析随记

原创 2016年06月02日 10:57:01

1. push register指令并不意味着保存寄存器内容,有可能是分配4个字节的栈空间,例如如下源代码

int _tmain(int argc, _TCHAR* argv[])
{
	int* p =NULL;
	*p = 10;
	return 0;
}
汇编指令为

int _tmain(int argc, _TCHAR* argv[])
{
00E91000 55                   push        ebp  
00E91001 8B EC                mov         ebp,esp  
00E91003 51                   push        ecx  
	int* p =NULL;
00E91004 C7 45 FC 00 00 00 00 mov         dword ptr [p],0  
	*p = 10;
00E9100B 8B 45 FC             mov         eax,dword ptr [p]  
00E9100E C7 00 0A 00 00 00    mov         dword ptr [eax],0Ah  
	return 0;
00E91014 33 C0                xor         eax,eax  
}
可以看到为了给变量p分配栈空间,编译器采用了push ecx方式,而非sub esp, 4。

相关文章推荐

(随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则

(随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则 : 让项目拥有变化的能力 定义 : 依赖倒置原则指定了一种特定的解耦形式,使得高层次模块不依赖于低层次模块的实现细节 关键点...
  • yitao_
  • yitao_
  • 2016年12月16日 18:57
  • 168

(随记三)Android设计模式解析与实战_面对对象六大原则之里式替换原则

(随记三)Android设计模式解析与实战_面对对象六大原则之里式替换原则 :* 构建扩展性更好的系统 * 定义 : 所有引用基类的地方必须能透明的使用其子类对象 * 简单来说就是 : 只要父类能出现...
  • yitao_
  • yitao_
  • 2016年12月16日 18:54
  • 151

(随记六)Android设计模式解析与实战_面对对象六大原则之加米特原则

也可以叫做 : 最少了解原则 . 作用 : 更好的扩展性 定义 : 一个对象应该对其他对象是最少的了解 又可以说 : 一个类应该对自己耦合或者调用的类知道的最少,类的内部如何实现与调用者或者依...
  • yitao_
  • yitao_
  • 2016年12月17日 11:14
  • 710

(随记七)Android设计模式解析与实战_六种单例模式的实现方案的区别

(随记七)Android设计模式解析与实战_六种单例模式的实现方案的区别 : 定义 : 确保该类只有一个实例,并且自行实例化向整个系统提供这个实例 . 简单来说就是 : 该类只能被创建一次,并且抛出该...
  • yitao_
  • yitao_
  • 2016年12月20日 14:52
  • 463

(随记一)Android设计模式解析与实战_面对对象六大原则之单一职责原则

(随记一)Android设计模式解析与实战_面对对象六大原则之单一职责原则:* 定义 : 一个类而言,应该竟有一个引起它变化的原因 * 简单来说就是 : 一个类应该是一组相关性很高的函数、数据的封装。...
  • yitao_
  • yitao_
  • 2016年12月16日 18:51
  • 140

随记(ajax效果的增删改查)

  • 2014年10月16日 11:07
  • 512KB
  • 下载

Java.util随记.doc

  • 2008年08月07日 16:36
  • 86KB
  • 下载

随记~关于zlib库的使用

这星期在做一个换肤的模块,类似芊芊静听,原文件是一个zip文件,所以要将文件解压缩到文件夹中。       解压的方法大致有3种:       1. 通过shellexcute执行rar.exe等外部...

oracle安装随记.doc

  • 2011年11月17日 11:40
  • 954KB
  • 下载

linux net 管理随记

  • 2012年09月12日 01:10
  • 1.84MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汇编解析随记
举报原因:
原因补充:

(最多只允许输入30个字)