当前位置: 代码迷 >> 汇编语言 >> 有哪位高手知道PC机三键重启与按RESET键重启对内存、cpu复位的区别
  详细解决方案

有哪位高手知道PC机三键重启与按RESET键重启对内存、cpu复位的区别

热度:1037   发布时间:2013-02-26 00:00:00.0
有谁知道PC机三键重启与按RESET键重启对内存、cpu复位的区别
最近在dos下写一个pc104串口扩展卡应用程序时发现,我的程序在正确初始化后三键重启后直接就可以使用,而在RESET重启后就得重新初始化,不知这两种方式重启有什么异同?

------解决方案--------------------------------------------------------
三键重启是dos调用int19完成的,就是磁盘重启。直接读取磁盘的启动扇区放置到0000:7C00位置,跳转至该位置执行,没有硬件检测及初始化等步骤。而串口扩展卡的中断以及中断服务在三键重启后没有被破坏,而且硬件已经初始化,所以可以使用。
------解决方案--------------------------------------------------------
三键重启会先跳到f000:e05b位置执行RAM中保留的BIOS,为接下来的重新启动添加相关的标记,之后令CPU和CHIPSET等设备RESET,正式从ROM中执行BIOS开机代码,在开机过程中BIOS会检测是否有热启动的标记,若有跳过内存检测,至于PCI方面应该也会有PCI RESET信号发出,至于具体为什么没有初始化,可能和设备本身对于系统状态的检测有关吧。
  相关解决方案