List p=16F84 ;Tipo de procesadorCuando lo simulo con mpsim despues de sleep no pasa del primer nop, se queda enganchado ahi, y al simularlo con Proteus se queda en el primer led iluminado, nunca hay incremento del contador. ojalá alguien pueda detectar el error y corregirme. Cabe mencionar que he modificado la palabra de configuracion del pic en proteus a 0x3FFF donde se carga el archivo .hex.
include "P16F84.INC" ;Definiciones de registros internos
org 0x00 ;Vector de Reset
goto Inicio
org 0x05 ;Salva vector de interrupción
Inicio clrf PORTB ;Borra los latch de salida
bsf STATUS,RP0 ;Selecciona banco 1
clrf TRISB ;Puerta B se configura como salida
movlw b'00011111'
movwf TRISA ;RA0-RA4 entradas
movlw b'00001000'
movwf OPTION_REG ;Preescaler de 1 para el WDT
bcf STATUS,RP0 ;Selecciona banco 0
Loop sleep ;Modo Standby
nop
nop
incf PORTB,F ;Incrementa el contador binario sobre la puerta B
movf PORTA,W
andlw b'00000111' ;Lee el estado de los interruptores RA0-RA2
iorlw b'00001000'
bsf STATUS,RP0 ;Selecciona el banco 1
movwf OPTION_REG ;Ajusta valor del preescaler
bcf STATUS,RP0 ;Selecciona el banco 1
goto Loop ;Volver al modo Standby
end ;Fin del programa fuente