Hace poco hice este programa que hace la comparación de 2 números de 1 byte. Te dice si son iguales y si uno es menor o mayor que el otro. Lo tienes que adaptar para tu programa:
---
; Hace comparación de 2 números de 1 byte
; # referencia en datoref (0x10)
; # a comparar en dato1 (0x11)
; al finalizar el programa se carga en compar lo siguiente
; 0x00 si ambos # son iguales
; 0x01 si dato1 > datoref
; 0xff si dato1 < datoref
LIST P=16f84a
include "p16f84a.inc"
; Registros
datoref equ 0x10 ;# referencia
dato1 equ 0x11 ;# a comparar
compar equ 0x12 ;resultado comparación
status equ 0x03
; Bits
rp0 EQU 5 ; banco status
z EQU 2 ; Z en status
c EQU 0 ; C en status
dc EQU 1 ; DC en status
ORG 0
goto inicio
ORG 5
;Inicia programa
inicio movf datoref,0 ;número referencia
subwf dato1,0 ;dato a comparar con ref
btfsc status,z ;si z=1 dato1 es igual que w
goto iguales
btfsc status,c ;si c=1 dato1 es mayor que w
goto mayor
movlw 0xff ;dato1 es menor que w
movwf compar
goto final
iguales clrf compar
goto final
mayor movlw 0x01
movwf compar
goto final
final nop
end
---