Its a different story when running in virtual mode. I'm not sure how consistent the various flavors of Windows are going to be, but you're essentially going to have to program the 8254 to run at 10 Mhz, set the counter to reset/reload mode with an appropriate value to trigger an interrupt every millisecond and then use an interrupt handler to do your animation control. The usage should be fairly obvious if you are doing time-based animation
I don't recall which vectors are used by the 8254 in the PC. All you need to do is store your interrupt handler address into the table when the program begins and restore the old value when the program exits. There is a BIOS handler which will do this.
Rif> This being my first semester with assembly I couldn't honestly say I know how to
> do either of those things. What I'm writing is in 16 bit real addressing mode
> written for use with Tasm. I just read about 3 billion things on the 8253 PIT