error en la subrutina??
2 participantes
Página 1 de 1.
error en la subrutina??
Hola a todos, esta rutina la hice para tomar un valor que este en W (código askII que vino por Tx serie) y asegurarme que sea un número y no otro caracter cualquiera, pero no me funciona bien, alguien podría echarle un vistazo y ver el error???
clear_num
movwf valor
movlw 0x30
subwf valor,w ;le resto a valor 30h y dejo el resultado en w
btfss STATUS,0 ; testeo el acarreo a ver si hubo (valor <30h)
goto mayor
goto ER1
mayor
movlw 0x39
subwf valor,W
btfsc STATUS,C
goto ER1
movf valor
call TxSerie
return
ER1
movlw 'E'
call TxSerie
return
clear_num
movwf valor
movlw 0x30
subwf valor,w ;le resto a valor 30h y dejo el resultado en w
btfss STATUS,0 ; testeo el acarreo a ver si hubo (valor <30h)
goto mayor
goto ER1
mayor
movlw 0x39
subwf valor,W
btfsc STATUS,C
goto ER1
movf valor
call TxSerie
return
ER1
movlw 'E'
call TxSerie
return
yeestrada- Participante
- Mensajes : 10
Fecha de inscripción : 20/03/2011
Re: error en la subrutina??
Hola yeestrada.
Según lo entiendo yo, después de una resta, si STATUS,0 = 0 entonces hubo préstamo (acarreo es en la suma), osea podría ser algo así:
Después de una suma, STATUS,C se pone a 1 cuando hay acarreo.
Después de una resta, STATUS,C se pone a 0 cuando hay préstamo (el resultado es negativo).
Espero no haberme liado...
Saludos.
Según lo entiendo yo, después de una resta, si STATUS,0 = 0 entonces hubo préstamo (acarreo es en la suma), osea podría ser algo así:
- Código:
subwf valor,w ;le resto a valor 30h y dejo el resultado en w
btfss STATUS,C ; testeo el acarreo a ver si hubo (valor <30h)
goto menor
goto mayor_o_igual
Después de una suma, STATUS,C se pone a 1 cuando hay acarreo.
Después de una resta, STATUS,C se pone a 0 cuando hay préstamo (el resultado es negativo).
Espero no haberme liado...
Saludos.
Temas similares
» Libreria LCD 4Bit , para Pic16f
» Error en ktechlab
» Compilador GcBASIC en Ktechlab
» Ktechlab-gcb
» AYUDA PARA SOLUCIONAR ERROR
» Error en ktechlab
» Compilador GcBASIC en Ktechlab
» Ktechlab-gcb
» AYUDA PARA SOLUCIONAR ERROR
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.