会、飞的鱼 发表于 2012-7-4 09:52:33

关于汇编栈段的问题

假定安排10000H-1001FH为栈段,ss指向1000H,sp不是应该指向021H吗?还是020H?当执行push指令时,sp先自减2,这样应该是021H才对啊。

NeBen 发表于 2012-7-4 09:52:34

本帖最后由 NeBen 于 2012-7-5 10:18 编辑

假定安排10000H-1001FH为栈段,当栈段中有储存一个字的时候指针是指向1001EH,这个没有Problem把,然后因栈段是空的(将相当于POP了一次)所以SP要加2,即1001EH+2H=10020H,所以指向020H,你没认真听课把,解释得很清楚了、

907806863 发表于 2012-7-4 10:02:17

我觉得应该是0020H      这里我也是搞不太清楚!不过我用栈时栈底是加1

gemini_gg 发表于 2012-7-4 10:07:14

ss sp 不应该出现奇数吧。

NeBen 发表于 2012-7-4 10:24:31

本帖最后由 NeBen 于 2012-7-4 18:29 编辑

你之所以这么理解是因为把PUSH进行的操作当成字节操作,实际上PUSH只进行字操作

侮辱后的坚强 发表于 2012-7-4 19:35:28

NeBen   的解释是对的

醉玉堡主 发表于 2012-7-5 08:19:44

netBean的解释很正确,把鱼币给人家吧

NeBen 发表于 2012-7-5 10:18:13

醉玉堡主 发表于 2012-7-5 08:19 static/image/common/back.gif
netBean的解释很正确,把鱼币给人家吧

哈哈,是NeBen

醉玉堡主 发表于 2012-7-5 15:26:46

:handshakesorry!

爱人等于爱自 发表于 2012-7-7 12:30:33

个人认为 当给定栈的长度范围的时候sp初始的位置 是在栈底的下一个高位的位置,如果按照楼主所说 sp的初始位置应该是021H的话 那假设压入一个字 sp先自减2sp指向的就是 01FH的位置了 那 字的高位放在哪里呢?没有地方放了哦 就是越界了 呵呵
页: [1]
查看完整版本: 关于汇编栈段的问题