gpt4 book ai didi

assembly - JMP 对堆栈和帧指针执行什么操作?

转载 作者:行者123 更新时间:2023-12-02 09:11:40 24 4
gpt4 key购买 nike

当程序集有像 jmp f 这样的指令时,堆栈和帧指针会发生什么?

我的意思是 - f 是内存中的标签,对吗?我们如何跳转到内存中的不同地址而不更新我们的帧和堆栈指针...

编辑:我说的是 Intel x86 组件,是的:)

最佳答案

堆栈和帧指针处理数据位置jmp 指令处理代码位置。除非发生重大事件,否则一者不应影响另一者。以下是一些严重的事情的列表:

  • 任务切换 - 由于使用任务门进行远跳转
  • 故障 - 由于跳转到无效的新页面,或跳出当前段,或尝试非法更改权限的jmp
  • 陷阱 - 例如,由于代码断点。事实上,目前我并没有想到其他陷阱。

就是这样。即使这些情况也会改变堆栈,因为它们涉及某种上下文切换,要么切换到新任务,要么切换到某些异常处理程序。

另请注意,据我所知,没有操作系统使用 CPU 的任务切换功能。它通常用软件实现。

关于assembly - JMP 对堆栈和帧指针执行什么操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com