汇编int中断利用堆栈

harrisonlee.net 2018-08-23 04:38:38
如果自己定义了堆栈区,那么系统用到的int中断也是利用自己定义的区域,系统不会再开辟一个栈区,是这样吗?
因为我写了一段简单代码,先把数据区的数据复制到我定义的栈区,然后再把栈区的内容复制到显存中。
运行过后,显存里面的内容和数据区里面一样,但是栈区里面的数据和二者不完全一样,于是我猜想是系统调用int中断,使用了我定义的栈区,而不是另外开辟的空间。只是不确定是不是这样。
...全文
624 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风云中独舞 2018-09-09
  • 打赏
  • 举报
回复
堆栈是自己设置的吧
laomao0827 2018-08-27
  • 打赏
  • 举报
回复
堆栈是自己设置的吧
zara 2018-08-24
  • 打赏
  • 举报
回复
无论你的源程序是否定义堆栈,程序运行时总是有自己的堆栈的,不定义的话就是程序首个 64K 的末尾。
中断发生,就是返回信息和很少的最初的用到了用户栈,随后会切换到 dos 内部栈的;用特殊数据覆盖自己的栈然后看被改写的部分就知道了,另外自己写/拦截 dos中断时需要考虑的 dos中断重入问题也是 dos内部栈有关的。

21,458

社区成员

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

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