汇编语言的在代码段中使用栈的数据改变的问题

安達と島村 2020-02-06 10:34:13


第六章使用栈时出现的问题。如上图,从设置ss开始,栈里就会出现奇怪的数据。
往栈里加数据后也会出现。有人知道时什么原因吗?
...全文
326 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
安達と島村 2020-02-09
  • 打赏
  • 举报
回复
引用 3 楼 zara 的回复:
不是远离 stack,而是给 stack适当大足够大的空间,具体给多少,先要看你自己程序的需要,没有特别要求的,也没有递归类使用堆栈的,一般书上是给 64或 128字节。
谢谢,明白了
zara 2020-02-09
  • 打赏
  • 举报
回复
不是远离 stack,而是给 stack适当大足够大的空间,具体给多少,先要看你自己程序的需要,没有特别要求的,也没有递归类使用堆栈的,一般书上是给 64或 128字节。
安達と島村 2020-02-07
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
没有理解栈的意义和作用吧。 标记出来的,是你用作栈的区间,但在其时不能算是栈“里”,因为 sp是 0020,在其之后,只有往栈里压入数据后,看 sp至栈末间的数据才有意义,低于 sp地方的,由于中断之类的使用,会有些现场数据的压入而留迹,就是那些不请自来的了。
感谢大佬。我发现sp前面总会有一些其他数据,而且如果和其他空间比如存放data的空间有交集,就会顶掉data的数据。是不是我在分配空间的时候就要远离stack?
zara 2020-02-07
  • 打赏
  • 举报
回复
没有理解栈的意义和作用吧。
标记出来的,是你用作栈的区间,但在其时不能算是栈“里”,因为 sp是 0020,在其之后,只有往栈里压入数据后,看 sp至栈末间的数据才有意义,低于 sp地方的,由于中断之类的使用,会有些现场数据的压入而留迹,就是那些不请自来的了。

21,460

社区成员

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

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