【发布时间】:2011-06-13 11:09:50
【问题描述】:
执行这条指令时出现异常
LFS ESI,PWORD PTR [EBP+12]
从此页面http://wiki.osdev.org/Double_Fault#Double_Fault
执行任何 PUSH 或 POP 指令或使用 ESP 或 EBP 作为基址寄存器的任何指令,但堆栈地址不是规范形式。 p>
所以我认为这里应该是 Stack-Segment Fault。 但是系统给出了一般保护异常(0D)。
谁能告诉我为什么会这样?
【问题讨论】:
-
你在什么类型的系统上,你可以在哪里加载段寄存器?
-
@Bo Persson ,这是一种叫做 DMX 的特殊操作系统。这用于在进程堆栈中加载远指针。