Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!caen!sol.ctr.columbia.edu!ira.uka.de!smurf!flatlin!tpki!kaiki!kai From: kai@kaiki.toppoint.de (Kai Voelcker) Newsgroups: comp.os.msdos.misc Subject: Re: 2 part problem Message-ID: Date: 14 May 91 13:02:18 GMT References: <21293@brahms.udel.edu> Organization: Toppoint Mailbox e.V. Kiel, W. Germany Lines: 33 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( { MOV AX,0040h } $B8/$40/$00 { MOV ES,AX } /$8E/$C0 { MOV Word Ptr ES:[0072h],1234h } /$26/$C7/$06/$72/$00/$34/$12 { MOV AX,0F000h } /$B8/$00/$F0 { PUSH AX } /$50 { MOV AX,0FFF0h } /$B8/$F0/$FF { PUSH AX } /$50 { RETF } /$CB ) ; Procedure ColdBoot; INLINE( { MOV AX,0F000h } $B8/$00/$F0 { PUSH AX } /$50 { MOV AX,0FFF0h } /$B8/$F0/$FF { PUSH AX } /$50 { RETF } /$CB ) ; _________________________________________________________________ | Kai Voelcker, Kappelner Str. 18, D-2300 Kiel 1, +49 431 335605 | | interests: masm, c, pascal; OR Algorithms | | >>> polite notice: I have to pay for incoming mail. Thanks <<< | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~