TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Golden_Eagle en 04 de Febrero de 2004, 21:06:00

Título: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: Golden_Eagle en 04 de Febrero de 2004, 21:06:00
me gustaria poder leer esto en assembler(pq todabia no entiendo ni medio de C), si alguien se toma la molestia de traducirmelo, estare muy agradecido!  

LRC Example Code

This function is an example how to calculate a LRC BYTE using the C language.

BYTE LRC (BYTE *nData, WORD wLength)
{
BYTE nLRC = 0 ; // LRC char initialized

   for (int i = 0; i < wLength; i++)
      nLRC += *nData++;

   return (BYTE)(-nLRC);

} // End: LRC
Título: RE: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: pocher en 05 de Febrero de 2004, 00:55:00
Si quieres averiguar cual es la traducción de estas instrucciones C a ensamblador, en MPLAB instala el compilador de C, arranca el programa en modo paso a paso y verás como debajo de cada instrucción C está pasada a ensamblador.

Un saludo
Título: RE: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: Nocturno en 05 de Febrero de 2004, 02:47:00
Yo tampoco se nada de C, pero me da la sensación de que el resultado de esa función es devolver en la variable LRC el resultado de multiplicar nData por wLength.
Título: RE: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: Golden_Eagle en 05 de Febrero de 2004, 13:16:00
Gracias por las respuestas muchachos...!
mnmn nunca use mplab asi qeu voy a tener que considerar eso...
Alguien que me puede confirmar lo que dice el amigo nocturno66 ??
Título: RE: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: fopy en 05 de Febrero de 2004, 17:20:00
mientras no lleges al valor indicado por el segundo parametro (wlen..), se almacenan en la variable a devolver (la que de fine como byte dentro de la funcion) la suma de todos los miembros de ese array con el signo invertido.

No se para que sirve esa funcion, pero estoy seguro que eso es lo que hace..

Salu2
Título: RE: C --> asm. algun gurú que me tradusca estas lineas?
Publicado por: Golden_Eagle en 05 de Febrero de 2004, 22:01:00
Gracias por la colaboracion creo que esto es suficiente.
Ah... la rutina es para calucular el byte LRC que se usa en modbus para detectar errores de transmision de datos..