首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-05-09 
关于一句汇编 求解CLD;store hashpush 0x1234567push 0x1e1f1212push 0x0c917432mov esi, esplea edi, [es

关于一句汇编 求解
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)
| |
| |
|_|<--------栈底

热点排行