Hola, tengo una duda con el desboradmiento de pila. Estuve haciendo un codigo en asm, y a la hora de simularlo en proteus, salta muchos mensajes de stack underflow, y esto se da en el return de la subrutina PulsadorLibre1. Para comprobar si era culpa de Proteus, utilice el simulador de MPLAB y lo mismo se queda colgado en return de las subrutinas. Espero me puedan ayudar. Les dejo el codigo
Código:
INICIO bcf STATUS,RP0 ;Banco 0
clrf PORTB ;Limpio salidas
clrf PORTC
bsf STATUS,RP0 ;Cambio al banco 1
clrf TRISB ;Puerta B como salida
movlw b\'00000110\' ;Puerta A digital
movwf ADCON1
movlw b\'11111111\' ;Puerta A entrada
movwf TRISA
btfss PORTA,0 ;Pulsante subir esta pulsado?
bsf PORTB,0 ;Si
btfss PORTA,1 ;Pulsante Bajar esta pulsado?
BSF PORTB,1 ;Si
call PulsadorLibre1
call PulsadorLibre2
goto Inicio
PulsadorLibre1 btfss PORTA,0 ;Boton esta en 1
call PulsadorLibre1 ;No
return ;Si
PulsadorLibre2 btfss PORTA,1 ;Boton esta en 2
call PulsadorLibre2 ;No
return
end
Última edición: