I agree that its a bad idea to use loops or software that depend on instructions cycle times for timing. There is another way to do this. The PC generates an INT8 every 1/18.2 (about 54.9 ms) to update the real time clock. When its done with the RTC in generates an INT 1C. INT1C doesn't do anything except a RTI. You can take over this interrupt and execute your own code. You just need to be careful that INT8 + INT 1C(your code) don't take longer than 54.9 ms to execute. If you need a time base other than this you'll need to look for another method. Steve