Determinando para la opción 1, la opción 2 y la opción
3 un valor consecutivo como:
opción1 equ
0
opción2 equ
1
opción3 equ
2
Uno de estos posibles valores llevarlos a W y en una parte del programa
tratarlos así:
Decisión:
;sitio en donde la pregunta "?" tendría solución
addwf PCL,1
goto Acción1
goto Acción2
goto Acción3
Acción1:
............................... ;instrucciones correspondientes
a la Acción 1
...............................
...............................
goto encuentro
Acción2:
............................... ;instrucciones correspondientes
a la Acción 2
...............................
...............................
goto encuentro
Acción3:
............................... ;instrucciones correspondientes
a la Acción 3
...............................
...............................
encuentro:
;sitio de encuentro luego de una de las acciones
............................... ;continuación
del programa
...............................
Solución #2
Otra forma posible es comparando una por una los valores de las diferentes
opciones almacenadas en memoria RAM en una variable llamada OPCION
movlw Opción1
xorwf OPCION,0
;se realiza la verificación del contenido de OPCION con respecto
a W
btfsc
STATUS,Z ;Verificando la bandera Z
goto Acción1
movlw Opción2
xorwf OPCION,0
;se realiza la verificación del contenido de OPCION con respecto
a W
btfsc
STATUS,Z ;Verificando la bandera Z
goto Acción2
movlw Opción3
xorwf OPCION,0
;se realiza la verificación del contenido de OPCION con respecto
a W
btfsc
STATUS,Z ;Verificando la bandera Z
goto Acción3
Acción1:
............................... ;instrucciones correspondientes
a la Acción 1
...............................
...............................
goto encuentro
Acción2:
............................... ;instrucciones correspondientes
a la Acción 2
...............................
...............................
goto encuentro
Acción3:
............................... ;instrucciones correspondientes
a la Acción 3
...............................
...............................
encuentro:
;sitio de encuentro luego de una de las acciones
............................... ;continuación
del programa
...............................
Aunque este último método es más largo que el
anterior, permite que los valores de las diferentes opciones no sean consecutivos
entre si.