Martin, that's accurate to about 1ms - about 1,000 times what cheongcy needs.

cheongcy, driving a fast stepper in software, even in assembly, is a bit iffy, and the printer port, unless you're driving a stepper driver with it, isn't the hardware you want connected to a stepper motor (not enough current source, too susceptible to being blown by switching transients).

A hardware oscillator driving a stepper driver is more accurate, even if you use a 4 MHz oscillator (a cheap resonator) and /4 as the fast frequency, and pretty simple to implement. Just switch to a couple of cascaded /1,000 stages (or whatever you need) for the slow stepping. Your software is then as simple as turning one bit on or off.