当前位置: 代码迷 >> 汇编语言 >> 关于一句汇编 求解,该如何处理
  详细解决方案

关于一句汇编 求解,该如何处理

热度:3538   发布时间:2013-02-26 00:00:00.0
关于一句汇编 求解
CLD
;store hash
push 0x1234567
push 0x1e1f1212
push 0x0c917432
mov esi, esp
lea edi, [esi - 0xc]

想请教最后一句 lea edi, [esi - 0xc]
想问下,为什么是减0xc呢,这句执行以后,edi是指向哪里 ?
小弟一直琢磨这句,苦思不得其解啊~~

------解决方案--------------------------------------------------------
减0xc是为了给局部变量留出栈空间,最后edi指向了栈顶的后0x0c字节处
一下示意图

| |
| |
| |<---------edi (esi-0x0c);edi的最终的位置
|
|
长度0x0C (这一段就可以存取其他的数据了)
|
|
| |<---------esp(esi)
| |
| |
|_|<--------栈底

  相关解决方案