首页
社区
课程
招聘
[求助]堆栈问题不明白,望赐教!
发表于: 2006-9-6 10:06 3509

[求助]堆栈问题不明白,望赐教!

2006-9-6 10:06
3509
最近在看汇编,

书上关于堆栈说的很不明白。

我有几个问题:
(1)堆栈是拿来干嘛用的?
(2)pop 指令出栈的数据,一般是放到哪个寄存器里面的?
比如
pop ax ,那么 ax 出栈的数据,是放到哪里去的?
(3)如果有以下代码,

push 100h
pop  ax

那么ax的值是多少?
是不是就是刚刚压入堆栈的100h?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 257
活跃值: (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
pop 的操作数就是出栈数据存放的位置
放100h进去,然后由ax带出,ax==100h
2006-9-6 10:28
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
先入后出
2006-9-9 15:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
能问个简单问题不?看以前有高手说push xx和push xx再加ret相当于call xxxx,是这样吗?那具体原理有人知道不?
是一ret就会pop两次吗?
2006-9-10 16:44
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
call = push+jmp ret = pop+jmp

push XXX + ret = jmp XXX
2006-9-10 22:54
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
所以 push xxx+ + push xxx ret = call XXX

用这招做伪装 花指令什么的
2006-9-10 22:58
0
游客
登录 | 注册 方可回帖
返回
//