I am designing an assembly program that will display the time on screen. The program will also change the int 9 handler to my new routine which will intercept Alt-M to activate a menu and at the same time the INT 1ch handler. I'm having a problem with regards to restoring the screen after the Menu. Of course before calling the Menu routine I first saved the screen's current informations by setting the ds:[si] to 0b800h and es:[di] to my buffer and I used the movsw op code to do the job. I do the opposite of this routine to restore the screen. Unfortunately, I had unpredictable results and mostly it resulted to a computer crash. By the way my menu and screen restoring routines were integrated into my keyboard handler. I used COM for this program. Anybody who can help me? Tnx. Programmers RULE!!!!