吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 625|回复: 12
收起左侧

[讨论] 初学者学习汇编的难题,有大佬帮忙看看嘛关于出栈

[复制链接]
老马森生 发表于 2024-6-22 17:47
mov ax,2000H
mov ds,ax

mov ax,1000H
mov ss,ax
mov sp,0000H

pop [E]

有个疑问,它这个代码出栈之后,内存单元的值直接被传送了到了数据段了吗?正常不都是出栈再入栈吗?但给的答案没看到入栈,所以是不是pop后面自动调用了数据段的地址将值入进去了?

答案

答案

题目

题目

题目

题目

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 老马森生 发表于 2024-6-22 17:48
看的王爽的汇编语言检测点3.2
头像被屏蔽
akxb 发表于 2024-6-22 18:06
limm16876 发表于 2024-6-22 18:32
lies2014 发表于 2024-6-22 18:47
数据已经在1000H了,现在1000H变成了堆栈,pop不就直接出栈到数据段了吗?pop后面跟的是不同的地址,那就是数据段的具体存储单元地址
学习汇编还是要动手,弄个模拟dos环境,在debug里面输一下代码就很清楚了,靠想象对初学者不是很友好
个人觉得现在基本上已经不会接触8086汇编了,如果不是学校硬性要学,还不如直接学32位和64位,也不需要找模拟环境,直接一个调试器就可以练手了
jiaotong 发表于 2024-6-22 23:58
pop [E] 会把 当前栈顶(ss:sp)里面值放到ds:e里面;
为什么还需要入栈呢?栈内值直接被送入数据段了

楼上佬说的不错,动手慢慢debug,王爽老师这本书很好,里面debug教程我记得也挺详细的
ioyr5995 发表于 2024-6-23 06:44
跟着一起学学
Yifan2007 发表于 2024-6-26 16:12
lies2014 发表于 2024-6-22 18:47
数据已经在1000H了,现在1000H变成了堆栈,pop不就直接出栈到数据段了吗?pop后面跟的是不同的地址,那就是 ...

哥能说说栈吗,最近听郁金香的课,在xdbg里面什么ESP,EBP,EBI杂七杂八的,还有栈帧之类的东东,完全不懂呀,或者是丢篇csdn的文章也行哥
lies2014 发表于 2024-6-26 20:48
Yifan2007 发表于 2024-6-26 16:12
哥能说说栈吗,最近听郁金香的课,在xdbg里面什么ESP,EBP,EBI杂七杂八的,还有栈帧之类的东东,完全不懂 ...

这种基础的东西网上一大把,我也未必比别人讲得更清楚,还是先看看论坛里的基础教程吧,比如下面这篇就是讲堆栈的:
https://www.52pojie.cn/forum.php ... hlight=%B6%D1%D5%BB
冰炎梦幻 发表于 2024-6-29 12:52
本帖最后由 冰炎梦幻 于 2024-6-29 13:12 编辑

不懂8086。网上搜了下,说下理解。

[Asm] 纯文本查看 复制代码
mov ax,2000H    //数2000H放到ax寄存器
mov ds,ax    //ax寄存器中的数放入ds(ds应该是默认pop的段地址,我就叫他基址,那么此时2000H*10H就是内存基址了)
__________
__________
__________
pop [E]   //栈中的数取出到ds+ E即2000H*10H+E=2000E
pop [C]   //栈中的数取出到ds+ E即2000H*10H+E=2000C
......


那缺什么?缺栈地址啊。
于是空空就如下:
mov ax,1000H    //数10000H放到ax寄存器
mov ss,ax   //ax寄存器中的数放入ss(ss应该是栈的段地址,那么此时1000H*10H就是栈基址了)
mov sp,0000H   //sp清零

至于你的疑问。。。。。
1.内存单元的值直接被传送了到了数据段了吗?
是的
2.正常不都是出栈再入栈吗?但给的答案没看到入栈,所以是不是pop后面自动调用了数据段的地址将值入进去了?
正常不都是出栈再入栈吗?错,应该是先入栈再出栈。
大哥,你没看到图里面已经给数据了么,栈已经有数据了。



您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-13 11:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表