当一个程序集有像jmp这样的指令时,堆栈和帧指针会发生什么?
我的意思是 - f是记忆中的标签吗?我们怎样才能跳转到内存中的不同地址而不更新我们的帧和堆栈指针......
编辑:我说的是英特尔x86组装是的:)
堆栈和帧指针处理位置的的数据. jmp指令处理位置的的代码.除非发生严重的事情,否则不应影响另一方.这是一个激烈的事情清单:
jmp试图非法更改权限. 就是这样.即使这些情况也会改变堆栈,因为它们涉及某种上下文切换,无论是新任务还是某些异常处理程序.
另请注意,我所知道的操作系统不使用CPU的任务切换功能.它通常用软件实现.
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |