Hola sigo haciendo el teclado y la ayuda que me dieron el otro dia me sirvio mucho pero ahora tengo otro problema la contraseña es de 4 nnumeros, al primer numero lo toma sin ningun problema y lo guarda pero cuando inserto el segundo numero el programa lo lee pero no lo guarda. Por lo tanto de la manera que esta construido el programa, va a mandar error porque piensa de que el numero no es el solicitado.
;-------ETIQUETAS--------
;-------COLUMNAS---------
h equ 03
i equ 04
j equ 05
;-----FILAS--------------
m equ 00
n equ 01
o equ 02
;-----MEMORIAS-----------
primernumero equ 0x0c
segundonumero equ 0x0d
tercernumero equ 0x0e
cuartonumero equ 0x0f
temporal equ 0x12
pricorrecto equ 0x1c
segcorrecto equ 0x1d
tercorrecto equ 0x1e
cuacorrecto equ 0x1f
;----CONFIGURACION-------
org 0
bsf status,5
movlw b'01111'
movwf trisa
movlw b'00000111'
movwf trisb
movlw 09
movwf primernumero ;GUARDO PRIMER NUMERO EN LA MEMORIA
movlw 02
movwf segundonumero ;GUARDO SEGUNDO NUMERO EN LA MEMORIA
movlw 06
movwf tercernumero ;GUARDO TERCER NUMERO EN LA MEMORIA
movlw 04
movwf cuartonumero ;GUARDO CUARTO NUMERO EN LA MEMORIA
bcf status,5
;-------PROGRAMA------------
;---------BUSQUEDA DEL TECLADO-------
volver
clrf portb
;---COLUMNA H------- PRUEBO CONVINACIONES CON H
bsf portb,h
btfss portb,m
goto sig0
goto compruebo1
sig0
btfss portb,n
goto sig1
goto compruebo4
sig1
btfss portb,o
goto sig2
goto compruebo7
;------COLUMNA I---- PRUEBO CONVINACIONES CON I
sig2
bcf portb,h
bsf portb,i
btfss portb,m
goto sig3
goto compruebo2
sig3
btfss portb,n
goto sig4
goto compruebo5
sig4
btfss portb,o
goto sig5
goto compruebo8
;------COLUMNA J------- PRUEBO CONVINACIONES CON J
sig5
bcf portb,i
bsf portb,j
btfss portb,m
goto sig6
goto compruebo3
sig6
btfss portb,n
goto sig7
goto compruebo6
sig7
btfss portb,o
goto sig8
goto compruebo9
sig8
bcf portb,j
goto volver
;
;
;;--------COMPRUEBO LAS TECLAS PRESIONADAS-----
compruebo1
movlw 01
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo2
movlw 02
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo3
movlw 03
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo4
movlw 04
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo5
movlw 05
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo6
movlw 06
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo7
movlw 07
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo8
movlw 08
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
compruebo9
movlw 09
movwf temporal
subwf primernumero,0
btfss status,z
goto error
goto correcto
goto volver
;-------ERRORES----------
error
subwf segundonumero,0
btfss status,z
goto error2
goto correcto2
goto volver
error2
bsf portb,7
subwf tercernumero,0
btfss status,z
goto error3
goto correcto3
goto volver
error3
bsf portb,7
subwf cuartonumero,0
btfss status,z
goto error4
goto correcto4
goto volver
error4
bsf portb,7
goto volver
;------CORRECTOS--------
correcto
movlw 09
movwf pricorrecto
bsf portb,6
goto volver
correcto2
movlw 02
movwf segcorrecto
bsf portb,6
goto volver
correcto3
movlw 06
movwf tercorrecto
bsf portb,6
goto volver
correcto4
movlw 04
movwf cuacorrecto
bsf porta,4
goto volverPor favor si me pueden ayudar les agradeceria