Haber, por lo que entiendo, el programa va a tener 2 opciones y varios modos, un botón controla si está en opcion RUN o en opción SET, y que cuando comienze a trabajar este en opción run.
Si esto es así, entonces despues de que definas variables y todo lo relacionado, deberás poner una linea que es:
GOTO RUN (Para que valla a la opción RUN donde:)
RUN:
Aquí vendría el código de lo que hace esta opción.
Tambien debe ir una linea que revisa el botón si se ha presionado o no, por ej sería algo como:
IF PORTA.0 = 0 THEN
PAUSE 500 (Que se detenga durante medio segundo para que se alcanze a soltar el suiche y no vaya y alcanze a regresar
GOTO SET
ENDIF (Aquí revisa el estado del botón, recuerda que el suiche, debe ir conectado a GND y al PORTA.0, a su vez debe llevar una resistencia de 10K (de pull up) entre el PORTA.0 y el VDD)
SET:
Aquí viene el código de esta opción y debe llevar la misma linea que revisa el estado del boton así:
IF PORTA.0 = 0 THEN
PAUSE 500
GOTO RUN
ENDIF
Ten en cuenta que lo anterior trabajará sí y solo sí cada opción es un bucle (que se repita el proceso de manera infinita), osea que al final de cada opción debe llevar un GOTO SET o GOTO RUN dependiendo de en cual esté, osea:
SET:
Código
Revisar botón
GOTO SET
Lo mismo para run. ademas si quieres cambiar los modes necesitas poner el otro suiche con las mismas conexiónes y dentro del set que es el que cambia modes pones lo siguiente:
SET:
Código
Revisar botón
IF PORTA.1 = 0 THEN
IF MODE = N THEN (Donde N es reemplazado por el MODE mas alto que haya osea un 5 un 7, todo depende de tu programa)
MODE = 0
ENDIF
MODE = MODE + 1 (Mode es una variable)
ENDIF
IF MODE = 1 THEN
Código del Mode 1
ENDIF
IF MODE = 2 THEN
Código del Mode 2
ENDIF
IF MODE = N THEN
Código del Mode N (Donde N es el MODE máximo que hay)
ENDIF
GOTO SET
Espero que te sea de ayuda, cualquier duda al respecto no dudes en formularla.