2014-09-24 145 views
0

我正在努力为教育目的开发我自己的基本内核。我正在读英特尔80386并阅读有关中断0: - 除以零例外。intel 80386在哪里保存寄存器?

在那里,它被写: - CS和EIP的

保存的指令指针 保存寄存器内容指向该产生的异常的指令。

我的问题是这些寄存器保存在哪里。怎样才能访问这些寄存器?

+0

他们进入堆栈。 – 2014-09-24 18:57:44

+0

好的,谢谢,但他们按顺序进入堆栈? – 2014-09-24 18:58:29

回答

3

中断将堆栈上的EFLAGS,CS和EIP寄存器(按此顺序)的当前内容压入。对于一些例外情况,CPU在EIP之后推送一个错误代码,但不是零分隔。

如果你开发自己的内核,你应该看看Intel Software Developer Manual。有关于中断和例外的章节(实际版本为6.4),这包括完整描述什么时候被推送。