汇编的Enter, leave, return 指令
来源:互联网 发布:无间道3知乎 编辑:程序博客网 时间:2024/06/05 03:19
enter的用法:
enter 8, 3 ;就是申请8个存储单元(在堆栈中),特权为3
http://www.cnblogs.com/keepfocus/archive/2011/09/15/2176925.html
1. enter等价于:
push ebp
mov ebp, esp
在函数的入口时常用。
ENTER n 申请局部变量,相当于
push bp
mov bp, sp
sub sp, n
2. leave等价于:
mov esp, ebp
pop ebp
leave 与 ENTER 配对使用
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
一段常见的代码格式如下:
.text:00401450 push ebp
.text:00401451 mov ebp, esp
.text:00401453 sub esp, 18h
....
.text:0040146E call sub_401B10
.text:00401473 mov eax, 1
.text:00401478 mov esp, ebp
pop ebp
xor eax, eax
.text:00401479 retn 0Ch
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
用enter和leave替代了以后,就可以变成这个样子。
.text:00401450 enter
.text:00401453 sub esp, 18h
...
.text:0040146E call sub_401B10
.text:00401473 mov eax, 1
.text:00401478 leave
xor eax, eax
.text:00401479 retn 0Ch
return 语句有以下几种
ret 默认为NEAR,在PROC中由PROC属性决定
retn 强制NEAR
retf 强制FAR
ret n 默认为NEAR,在PROC中由PROC属性决定,同时SP += n
retn n 强制NEAR,同时SP += n
retf n 强制 FAR,同时SP += n
iret 中断程序返回
- 汇编的Enter, leave, return 指令
- 汇编中Enter和Leave指令
- 汇编中Enter和Leave指令(转)
- 汇编中Enter和Leave指令
- 汇编中Enter和Leave指令
- 汇编中Enter和Leave指令
- 汇编中Enter和Leave指令
- AT&T汇编指令enter、leave、call、ret
- AT&T汇编enter、leave、call、ret指令
- 伪指令 LOCAL ENTER LEAVE
- enter,leave汇编的作用,这个对理解UAC有用
- enter-leave的使用
- ENTER指令和LEAVE指令小结
- Whats Enter指令,Whats Leave指令
- 汇编关键字enter和leave详解?
- AT&T汇编leave指令
- CriticalSection的Enter/Leave次数问题
- mouse的over/out和enter/leave
- iPhone Mapkit 之在地图加入坐标点
- java 之 线程间变量共享
- Android中的动画研究(二)
- 是时候使用Javascript严格模式了
- android自动化测试工具----Monkey工具
- 汇编的Enter, leave, return 指令
- 深入Java虚拟机JVM类加载初始化学习笔记
- DOTA天梯
- 每个人都不完全是主角
- OOD沉思录 之 类和对象的关系--包含关系2
- 界面设计规范收集 HIG
- JavaSe的各种关键字及语法
- 一道SQL语句题,竖表变横表
- Extjs4.0 Ext4 修复 中文包