Autor Tema: c -> ASM  (Leído 1480 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado andresitovv

  • PIC10
  • *
  • Mensajes: 40
c -> ASM
« 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

Desconectado RaDoN

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1498
RE: c -> ASM
« Respuesta #1 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
Si juegas contra el mejor, pierdes como los demás.

Desconectado andresitovv

  • PIC10
  • *
  • Mensajes: 40
RE: c -> ASM
« Respuesta #2 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.


 

anything