HBX@psuvm.BITNET (08/27/85)
I few weeks ago I posted a query as to how to get the system clock
on the AT&T 6300 to keep proper time while running IBM PC DOS. The
problem is that it gains time. I received some helpful comments, but to
date have not established a program to do this. The issue seems to be
resetting the divisor rate in the 8253 programmable timer. (I admit to
to being a novice in these matters.) I have two questions: 1) is this a
feasible approach, and 2) why won't the following assembly language program
do the job?
; Program to reset the 8253 timer chip on the AT&T 6300
; to be compatible with IBM PC DOS 3.1
clockseg segment byte public 'prog'
assume cs:clockseg
clockset proc
pushf
cli ;disable interrupts
mov ax,036h
out 43h,al ;ready timer
mov ax,61441d ;new divisor rate
out 40h,al ;send the first half to the timer
mov al,ah
out 40h,al ;now send the other half
popf
int 20h ;return to dos
clockset endp
clockseg ends
end
Terry Harrison
310 Business Administration Building
Penn State University
University Park, PA 16802
(814) 863-3357
BITNET: hbx@psuvm
UUCP: {akgua,allegra,ihnp4,cbosgd}!psuvax1!PSUVM.BITNET!hbx
ARPA: hbx%psuvm.bitnet@wiscvm.arpa