condition exists a return is effected if the start button has been pressed and accepted the main program causes a branch to the execution driver program 202 if not the program places the machine in the entry mode whereby the user can operate the cycle selection switches on the control panel the system continues to loop in the main program until a preselected time period has passed after which the display is blanked and the system enters the idle mode which is essentially an off condition except for the microprocessor fig1 and 16a illustrate the execution routine in summary the microprocessor 39 s internal timers are cleared and the stack pointer initialized next the correct cycle times based on the cycles selected are generated from a look up table and stored in appropriate registers the correct function sub routine wash rinse dry drain etc is determined and a branch to that routine occurs at point 232 fig1 a the drain sub routine is described in connection with fig1 the timing sub routine for the fill circulate detergent rinse aid trip and dry cycles is described in connection with fig1 a upon completing these sub routines a return to the execution routine is effected at point x200 when execution is complete a return to the main routine is accomplished at x500 fig1 illustrates the drain routine employed when a normal drain of the appliance is desired during the course of the drain routine tests are performed on the drain feedback switch to detect drain system failure ds long drain ld and plugged drain pd conditions if no fault conditions are detected upon completion of the drain cycle execution returns.