usando SUBWF tenes que:
C = 0 si W mayor f
C = 1 si W menor o igual que f(Esto es sacado del datasheet, explicado en la instruccion SUBWF y SUBLW)
entonces... Supongamos que en W tengo el primer numero ingresado y comparo con f que es el segundo.
- Realizo el SUBWF.
- Pregunto por STATUS, C
Si C = 0, significa que el primero
es mayor que el segundo. Es decir aca irias al codigo de que es
mayor Si C = 1, significa que puede ser igual o mayor
- Pregunto por STATUS, Z ( sin hacer ninguna otra operacion que me modifique las banderas)
Si Z = 1, significa que el primero
es igual al segundo, aca salto a la rutina de que son iguales
Si Z = 0, significa que no se cumplio ninguna de las anteriores, por lo tanto el primero
es menor que el segundo
En codigo, suponiendo que los registros donde se guarden los numeros se llamen Primero y Segundo respectivamente, seria algo asi:
MOVF Primero, W
SUBWF Segundo, W
BTFSS STATUS, C
GOTO Es_Mayor
BTFSC STATUS, Z
GOTO Es_Igual
GOTO Es_Menor