; original File = C:\Documents and Settings\User\Escritorio\INVERTIR.hex

    processor 16C505
    #include <P16C505.INC>


; Program

	   	 	Org 	0x0000
			MOVWF 	OSCCAL
			GOTO	INICIO	
			ORG		0X05
INICIO		MOVLW 	0x00           ;   b'00000000'  d'000'
    		TRIS 	PORTC
    		MOVLW 	0x1F           ;   b'00011111'  d'031'
    		TRIS 	PORTB
			CLRF	PORTB
			CLRF	PORTC
TEMPERATUR	BTFSS	PORTB,2			
			CALL	SUB1
			BTFSC	PORTB,1
			GOTO	NIVALTO
			BSF		PORTC,0	
			BTFSC	PORTB,3		
			GOTO	TEMPERATUR
NIVALTO		BTFSC	PORTB,3
			CALL	SUB3
			BCF		PORTC,0
			BSF		PORTC,4
			BTFSC	PORTB,0				;EXPLORAR ESENCIA
			GOTO	ESEN1				;LANZAR ESENCIA
			BCF		PORTC,2				;QUITAR ESENCIA
TEMP2		BTFSS	PORTB,2
			CALL	SUB2
			BTFSC	PORTB,1
			GOTO	NIVALT2
			BSF		PORTC,0
			BTFSC	PORTB,3
			GOTO	TEMP2
NIVALT2		BTFSC	PORTB,3
			CALL	SUB4
			BCF		PORTC,0
			BTFSC	PORTB,0				;EXPLORAR ESENCIA
			GOTO	ESEN2				;LANZAR ESENCIA	
			BCF		PORTC,2				;QUITAR ESENCIA
T3			GOTO	TEMP2
SUB1		MOVFW	PORTC
			CLRF	PORTC
T1			BTFSS	PORTB,2
			GOTO	T1
			MOVWF	PORTC
			RETLW	0
SUB2		MOVFW	PORTC
			CLRF	PORTC
T2			BTFSS	PORTB,2
			GOTO	T2
			MOVWF	PORTC
			RETLW	0
SUB3		BTFSS	PORTB,2
			CALL	SUB1
			BTFSC	PORTB,1
			GOTO	NIVALTO
			BSF		PORTC,0
			GOTO	NIVALTO
			RETLW	0
SUB4		BTFSS	PORTB,2
			CALL	SUB2
			BTFSC	PORTB,0
			GOTO	ESEN3
			BCF		PORTC,2
T4			BTFSC	PORTB,1
			GOTO	NIVALT2
			BSF		PORTC,0
			GOTO	NIVALT2
			RETLW	0	
ESEN1  		BSF		PORTC,2
			GOTO	TEMP2
ESEN2  		BSF		PORTC,2
			GOTO	T3
ESEN3		BSF		PORTC,2
			GOTO	T4
			End
