Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!dciem!nrcaer!cognos!brianc From: brianc@cognos.UUCP (Brian Campbell) Newsgroups: comp.sys.ibm.pc Subject: Re: Code to perform warm reboot. Message-ID: <389@cognos.UUCP> Date: Mon, 23-Feb-87 13:32:51 EST Article-I.D.: cognos.389 Posted: Mon Feb 23 13:32:51 1987 Date-Received: Wed, 25-Feb-87 03:38:14 EST References: <424@omepd> Distribution: world Organization: Cognos Inc., Ottawa, Canada Lines: 27 in article <424@omepd>, perry@omepd.UUCP says: > > In article <3258@j.cc.purdue.edu> tim@j.cc.purdue.edu (Timothy Lange) writes: >>The following is Macro code to make an IBM PC and true compatibles >>perform a warm reboot. >> [...showing a simple assembler program to jump to F000:FFF0...] > > By this diction, what you propose (a jump to address F000:FFF0) is a > COLD BOOT. F000:FFF0 is the place where the processor begins to execute > when it is reset (i.e., when the power is turned on). The first thing it > does up there is to run test loops and initiate the memory check. Please > wait... > > There is a simple way to perform a real `warm' boot on an IBM PC. Just do > an `INT 19H' instruction. This will reload MSDOS and restart the configuration > process (reading CONFIG.SYS, executing AUTOEXEC.BAT etc.) without first doing > the hardware checks. Believe me, it's faster. > > The only advantage of a Cold Boot is that you're jumping into ROM, so no-one > can intercept you. Programs can intercept interrupt 19H and delay or prevent > the boot (which may be a good thing for sensitive programs that have to do > cleanup operations). A `JMP F000:FFF0' kills the machine immediately. Small correction: a JMP F000:FFF0 is only a COLD boot if you have done no WARM boots since power-on. There is a useful little flag word at some offset in the BIOS data area. If it is set to 1234h the CPU, memory and other tests will not be performed.