Exception 这应该是什么异常类型?

Exception 这应该是什么异常类型?,exception,x86,Exception,X86,执行此指令时,我遇到一个异常 LFS ESI,PWORD PTR [EBP+12] 从本页开始 执行任何PUSH或POP指令或任何使用ESP或EBP作为基址寄存器的指令,而堆栈地址不是标准格式 所以我认为这应该是一个堆栈段错误。 但系统提供一般保护例外(0D) 有人能告诉我为什么会出现这种情况吗?LFS的一般保护故障发生在以下情况: 您正在使用的段选择器索引 尝试加载与 描述符表限制 段位于描述符中 表,但它不是可读的数据 分段 您的权限级别更高 (意味着更少的特权)该 描述符的特权级别

执行此指令时,我遇到一个异常

LFS   ESI,PWORD PTR [EBP+12]
从本页开始
执行任何PUSH或POP指令或任何使用ESP或EBP作为基址寄存器的指令,而堆栈地址不是标准格式

所以我认为这应该是一个堆栈段错误。 但系统提供一般保护例外(0D)


有人能告诉我为什么会出现这种情况吗?

LFS的一般保护故障发生在以下情况:

  • 您正在使用的段选择器索引 尝试加载与 描述符表限制
  • 段位于描述符中 表,但它不是可读的数据 分段
  • 您的权限级别更高 (意味着更少的特权)该 描述符的特权级别
  • 因此,问题不在于指令本身,而在于段描述符表

    请参阅《英特尔软件开发人员手册》第3A卷第3章:

    您使用的是哪种系统,可以在其中加载段寄存器?@Bo Persson,这是一种特殊的操作系统,称为DMX。这用于在进程堆栈中加载远指针。