Hola, no es dificil, solo que la salida es de un solo bit, y la logica tambien es de un solo bit
pero las entradas estan en un puerto (de 8 bit) de los cuales solo empleas 4, y cada uno de esos bit, estan en "posiciones" diferentes, que tendras que leer, luego "alinear" con rotaciones
Esto lo pienso hablando o interpretando la "logica" del circuito
Mas simple seria emplear btfss o btfsc e ir marcando flags, para luego implementar la and final
Suerte!
Norberto