Bueno, gracias por el código, este es el programa final por si alguien alguna vez busca algo similar
;*****************************************************************;
;********* Trabajo Practico Nº 6 - Tecnicas Digitales II *********;
;****************** Oviedo Codigoni, Raúl ************************;
;*****************************************************************;
; Mostrar a través de LEDs, las distintas entradas pares de cuatro;
; puertos programados como entrada, el cero no es considerado como;
; par
;*****************************************************************;
list p=16f84
include <p16f84.inc>
;********************** Definición de Variables ******************;
PORTA EQU 0x05
PORTB EQU 0x06
STATUS EQU 0x03
TRISA EQU 0x85
TRISB EQU 0x86
;********************* Código de Programa ***********************;
org 0x00
bcf STATUS,5 ; trabajo en el banco 0, el bit 5 es el RPO
clrf PORTA ; inicializo el puertoA
bsf STATUS,5 ; voy a trabajar en el banco 1
movlw 0x0F ; cargo en W 15 en hexa q seria 1111 en binario
; para setear los puertos como entrada
movwf TRISA ; seteo los puertos como entrada
bcf STATUS,5
goto Ciclo
Ciclo movf PORTA,W ; leo el reguistro en el puerto A y lo guardo en W
andlw 0x0F ; multiplico W por 1111
btfsc STATUS,2 ; bit 2 es el Z (bit.test.fire.skip.clear) analizo el bit Z del registro
; Status si es cero la operacion es distinta de cero, por lo que podria ser
; un nº par, caso contrario (no salta) y se va por el goto a "Apaga"
goto Apaga
btfsc PORTA,0 ; si el LSB es igual a 0, osea un nº par, salta el goto
goto Apaga
Enciende
bsf PORTB,0 ; (bit.set) pongo un 1 en el pin 0 del puerto B, q es el que va con el
; led
goto Ciclo ; vuelvo a Ciclo, para seguir sensando las entradas
Apaga
bcf PORTB,0 ; (bit.clear) pongo un 0 en el pin 0 del puerto B
goto Ciclo
END