Me pueden ayudar con este código es de ensamblador y lo quiero traducir a c
INCLUDE "P16F877A.Inc"
CBLOCK .12
aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,
aux10,aux11,aux12,CONTADOR,aux13,aux14,a
ux15
Endc
ORG 00
GOTO INICIO
ORG 05
INICIO bsf STATUS,RP0
clrf TRISB
movlw b'11111111'
movwf TRISA
bcf STATUS,RP0
CLRF PORTB
CLRF PORTA
movlw .4
movwf CONTADOR
movlw b'00001111'
movwf aux4
movlw b'00000110'
movwf aux5
movlw b'00000011'
movwf aux6
movlw b'00000001'
movwf aux7
movlw b'00000000'
movwf aux8
movlw b'00001100'
movwf aux9
movlw b'00001000'
movwf aux10
movlw b'00000111'
movwf aux11
movlw b'00001110'
movwf aux12
CICLO movf PORTA,0
xorwf aux4,0
btfsc STATUS,2
GOTO ADELANTECON
movf PORTA,0
xorwf aux5,0
btfsc STATUS,2
GOTO ADELANTE
movf PORTA,0
xorwf aux6,0
btfsc STATUS,2
GOTO DERECHA
movf PORTA,0
xorwf aux7,0
btfsc STATUS,2
GOTO DERECHA
movf PORTA,0
xorwf aux8,0
btfsc STATUS,2
GOTO ATRAS
movf PORTA,0
xorwf aux9,0
btfsc STATUS,2
GOTO IZQUIERDA
movf PORTA,0
xorwf aux10,0
btfsc STATUS,2
GOTO IZQUIERDA
movf PORTA,0
xorwf aux11,0
btfsc STATUS,2
GOTO DERECHA
movf PORTA,0
xorwf aux12,0
btfsc STATUS,2
GOTO IZQUIERDA
GOTO CICLO
DERECHA
movlw b'00000101'
movwf PORTB
call pausa
movlw b'00000000'
movwf PORTB
call pausa
GOTO CICLO
IZQUIERDA
movlw b'00000110'
movwf PORTB
call PAUSA
movlw b'00000000'
movwf PORTB
call PAUSA
GOTO CICLO
ADELANTECON
movlw b'00000100'
movwf PORTB
call PAUSA2
DECFSZ CONTADOR,1
GOTO CICLO
GOTO PARAR
ADELANTE
movlw b'00000100'
movwf PORTB
GOTO CICLO
atras movlw b'00001000'
movwf PORTB
GOTO CICLO
PAUSA movlw .1
movwf aux1
movlw .40
movwf aux2
movlw .40
movwf aux3
decfsz aux3,F
GOTO $1
decfsz aux2,F
GOTO $5
decfsz aux1,F
GOTO $9
Return
PAUSA2 movlw .1
movwf aux13
movlw .250
movwf aux14
movlw .120
movwf aux15
decfsz aux15,F
GOTO $1
decfsz aux14,F
GOTO $5
decfsz aux13,F
GOTO $9
Return
PARAR
CLRF PORTB
goto PARAR
END