Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!samsung!munnari.oz.au!uniwa!cc.curtin.edu.au!cutmcvax!campbell From: campbell@cutmcvax.cs.curtin.edu.au (Trevor George Campbell CC361) Newsgroups: comp.os.msdos.misc Subject: Re: 2 part problem Message-ID: Date: 22 May 91 13:06:27 GMT References: <21293@brahms.udel.edu> Sender: news@cutmcvax.cs.curtin.edu.au (Usenet News System) Organization: Curtin University of Technology, Computing Science Lines: 32 Nntp-Posting-Host: cutmcvax.cs.curtin.edu.au kai@kaiki.toppoint.de (Kai Voelcker) writes: >sguerke@brahms.udel.edu (Stephen Guerke) writes: >> In article <1991May10.202806.18512@ux1.cts.eiu.edu> bucacs@ux1.cts.eiu.edu (C >> > >> > I have a slight problem. I need to write a routine (preferably in >> >Pascal) that will reboot a machine. >Hi, >everything Stephen Guerke wrote in his follow-up works fine. And here is a >small code for use inside pascal: >Procedure WarmBoot; > INLINE( >Procedure ColdBoot; > INLINE( > { MOV AX,0F000h } $B8/$00/$F0 > { PUSH AX } /$50 > { MOV AX,0FFF0h } /$B8/$F0/$FF > { PUSH AX } /$50 > { RETF } /$CB ) ; This code seems longer than reqd. to me. I created a .com file with debug a total of 16 bytes for a warm boot, and 5 for a cold boot. Under TP you just need to do a jmp ffff:0000 for a cold boot. naturally this needs to be converted to inline but i don't have the code on me for this, will bring it tomorrow and post if any interest.... . -- Trevor alias <****>