TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: andresitovv en 11 de Noviembre de 2005, 02:32:00

Título: c -> ASM
Publicado por: andresitovv en 11 de Noviembre de 2005, 02:32:00
Buenas, no sé si debería poner esta pregunta aquí o en la parte del lenguaje nsamblador, pero bueno. Es que tengo un problema, tengo una instrucción en C que me genera mucho código y necesito reducirlo para ganar rapidez. Alguien sabe como hacerlo? Os dejo la instrucción y el código ASM generado.

....................             if(bit_test(sin[cont63],cont12))
....................                 output_high(PIN_A4);
0ED2:  BCF    FD8.0
0ED4:  RLCF   x28,W
0ED6:  CLRF   03
0ED8:  ADDLW  1E
0EDA:  MOVWF  FE9
0EDC:  MOVLW  00
0EDE:  ADDWFC 03,W
0EE0:  MOVWF  FEA
0EE2:  MOVLB  0
0EE4:  MOVFF  FEC,12A
0EE8:  MOVF   FED,F
0EEA:  MOVFF  FEF,129
0EEE:  MOVFF  12A,03
0EF2:  MOVLB  1
0EF4:  MOVF   x29,W
0EF6:  MOVWF  02
0EF8:  MOVF   x27,W
0EFA:  MOVWF  00
0EFC:  BTFSC  FD8.2
0EFE:  GOTO   0F0E
0F02:  BCF    FD8.0
0F04:  RRCF   03,F
0F06:  RRCF   02,F
0F08:  DECFSZ 00,F
0F0A:  GOTO   0F02
0F0E:  MOVF   02,W
0F10:  BTFSS  02.0
0F12:  GOTO   0F1C
Título: RE: c -> ASM
Publicado por: RaDoN en 11 de Noviembre de 2005, 08:22:00
Creo que si nos comenta de que va y que quieres hacer ... y sobre todo, creo que si lo posteas en el foro de ASM, esten mas puestos Fumador
Título: RE: c -> ASM
Publicado por: andresitovv en 13 de Noviembre de 2005, 14:25:00
Simplemente tengo una tabla de 63 números (0 a 511 cada número, 9 bits) y tengo que mirar que enviar cada número en una trama. Por tanto pretendo mirar que bit toca  y enviarlo por el pin A4. Sólo eso, se entiende no? Ayuda?? Gracias.