百科问答小站 logo
百科问答小站 font logo



为什么修改esp寄存器会触发异常? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

题主的想法是:把内存映射的地址换个地方,把新的栈指针指过去。目的是为了动态调整栈的位置吧?

但这种做法不可取,也不可能实现。

首先esp的值不仅仅保存在esp里,换句话说,指向栈上的东西,不仅仅是只有esp,比如ebp也是可以用来做寻址的。甚至在内存里,多级指针都是指向旧的内存区域,你不可能也没办法把这些内存里的数据都指向新的栈空间,因为对于内存来说,都是一个一个数值,它是指针,还是一个整型数,没人知道。

所以, 跟权限无关,你这个思路本身就是错的。




  

相关话题

  为什么碰到几个做嵌入式开发的人都说做MCU开发没什么意思,要做基于Linux系统的嵌入式开发? 
  如果华为手机使用自己的操作系统,你会考虑买华为手机吗? 
  如何评价《慕尼黑:Linux带我们到地狱 将在2020年全面拥抱Windows》? 
  为什么操作系统不能屏蔽底层的架构(arm,x86,mips),为应用软件提供一个统一的运行环境呢? 
  Windows 10 Mobile正式版的体验将会怎样? 
  为什么总有人极力推荐使用命令行操作而非图形界面? 
  如何评价 Windows 11 窗口 N 代同堂以及一个系统三个终端? 
  苹果M1芯片真香,但是未来寿命如何,多久会被市场淘汰? 
  为什么操作系统没有前端和后端,而计算机很多其他领域却分前后端? 
  gettimeofday实现原理,该接口是如何和HPET配合实现微秒精度时间的获取的? 

前一个讨论
为什么不把push ebp和mov ebp, esp的操作通过硬件方式做进call指令中?
下一个讨论
linux内核切换成分页模式后,ljmp $__BOOT_CS,$1f 这行代码有什么意思?





© 2025-05-14 - tinynew.org. All Rights Reserved.
© 2025-05-14 - tinynew.org. 保留所有权利