Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!usc!rpi!uwm.edu!linac!att!cbnewsh!rkl From: rkl@cbnewsh.att.com (kevin.laux) Newsgroups: comp.os.msdos.programmer Subject: Re: Accurate timing request Message-ID: <1991Mar15.135016.25325@cbnewsh.att.com> Date: 15 Mar 91 13:50:16 GMT References: <1991Mar6.145414.8747@uwovax.uwo.ca> <1991Mar14.202729.7884@qualcomm.com> Distribution: na Organization: AT&T Bell Laboratories Lines: 41 In article <1991Mar14.202729.7884@qualcomm.com>, rdippold@maui.qualcomm.com (Ron Dippold) writes: > In article <1991Mar14.040625.13212@comp.vuw.ac.nz> Timothy.Litton@comp.vuw.ac.nz (Tim Litton) writes: I've been following this thread for a bit. At this time I'd like to point out that for AT's and most PS/2's with a Real-time clock there are two services available for timing. They are Int 15h Function 83h and 86h, Event Wait and Delay, respectively. Event Wait will set the high order bit in a byte flag when the interval expires, while Delay will pause until the interval expires. The timing is accurate to 976 microseconds but with Int 70h it's more like 1 millisecond. Event Wait AH: 83h AL: 00h Set Interval 01h Cancel Interval CX: High order microseconds word DX: Low order microseconds word ES:BX Pointer to flag byte that gets high order bit set as soon as possible after end of interval Carry Flag clear if successful Carry Flag set if error (Timer already running / function not supported) AL: 80h PC 86h XT, AT Delay AH: 86h CX: High order microseconds word DX: Low order microseconds word Carry Flag clear if successful Carry Flag set if error (Timer already running / function not supported) -- ________________________________________________________________________________ R. Kevin Laux Email: rkl1@hound.att.com AT&T Bell Labs Voice: (908) 949-1160 Holmdel, NJ 07733 Fax: (908) 949-0959