CMOS
的0x0F
寄存器指示关闭系统后,系统应该返回何处。BIOS
使用它来检查一个重启操作,可能会执行其它操作,而不是普通的重启。触发一次重启来从保护模式返回到实模式,这个寄存器很有用。
寄存器的0
、4
、5
、9
和10
位,一般来说对不同的BIOS
厂商需要保持一致,其它位不同BIOS
厂商可能或有所不同。
重启后,某些功能可能会跳转或调用以前保存在40:67h
双字中的地址。在跳转或调用时,POST
或禁止中断和NMI
。用户必须为位5
恢复中断屏蔽寄存器。某些功能可能会向中断控制器出发一条中断结束命令(EOI)
,而其他的功能不会触发该命令。在通过跳转或调用传递控制之前,POST
会将堆栈SS:SP
设置为0:400h
。这意味着中断向量表的顶部被用作一个临时的堆栈。用户应该确保将堆栈指针改变成一个更合适的地址。
寄存器各位的作用如下表1-1
所示:
表 1-1 CMOS
寄存器0x0F
各位的作用
0
|
正在处理普通的POST(软件重启)
|
1
|
为实模式操作初始化芯片组
|
2
|
内存测试后关机
|
3
|
内存出错后关机
|
4
|
跳转到磁盘引导程序
|
5
|
跳转到40:67h出的双字指针(触发EOI,清空键盘)
|
6
|
跳转到40:67h出的双字指针(不触发EOI)
|
7
|
返回到BIOS扩展内存块传送(正在执行中断15h,功能87h)
|
8
|
返回POST内存测试
|
9
|
返回到BIOS扩展内存块传送(正在执行中断15h,功能87h)
|
A
|
跳转到40:67h出的双字指针(不触发EOI)
|
B
|
返回,就好像通过40:67h触发了IRET一样
|
C
|
返回,就好像通过40:67h触发了IRET一样
|