Autor Tema: C --> asm. algun gurú que me tradusca estas lineas?  (Leído 2689 veces)

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

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
C --> asm. algun gurú que me tradusca estas lineas?
« 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

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: C --> asm. algun gurú que me tradusca estas lineas?
« Respuesta #1 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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: C --> asm. algun gurú que me tradusca estas lineas?
« Respuesta #2 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.

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: C --> asm. algun gurú que me tradusca estas lineas?
« Respuesta #3 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 ??

Desconectado fopy

  • PIC10
  • *
  • Mensajes: 35
RE: C --> asm. algun gurú que me tradusca estas lineas?
« Respuesta #4 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

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: C --> asm. algun gurú que me tradusca estas lineas?
« Respuesta #5 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..