有大佬帮我这个新萌解释下栈顶这段代码吗?

超人超级无敌 2018-02-01 09:55:03
新萌刚学汇编,想问栈顶后面的代码去哪了
...全文
563 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
单步的时候每执行一条指令后触发INT1中断,会在当前栈中保存flags、cs、ip,所以在单步时会在栈中看到08 00 6c 07 a3 01这些。
  • 打赏
  • 举报
回复
这是因为在单步的时候要临时占用用户栈空间保存INT1中断环境flags、cs、ip,在你的第一个图里就是01a3、076c、0008。
超人超级无敌 2018-02-05
  • 打赏
  • 举报
回复
4楼大佬可以解释的简单点通俗点吗?不懂
超人超级无敌 2018-02-03
  • 打赏
  • 举报
回复
原本这行栈的数据全部为0,执行这段指令mov ax,ss后就出现第一张图片的代码,之前没设置段assume 用dw 0,0....把数据推进栈里面那段栈顶的代码就会覆盖其他数据
zara 2018-02-02
  • 打赏
  • 举报
回复
堆栈后面的代码?是 code 段里的内容的话,那是在 076C:0000 处即 076A:0020 开始的那里吧;你框出的是堆栈区域。
  • 打赏
  • 举报
回复
076a:0000 开始的16字节是数据段 076a:0010 开始的16字节是栈段 076a:0020 开始的32个字节才是代码段(实际代码31字节)

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧