I just looked at the code again and remembered why we actually did it that way. First we set ES to 1 so that BX() won't generate a beep. Then we set ES back to 0 to re-enable error handling. If you don't mind an extraneous beep (and message) in your routines, you can get by handily with just BX(). Tim Baehr