Autor Tema: #SEPARATE función  (Leído 2039 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado ORE

  • PIC10
  • *
  • Mensajes: 43
#SEPARATE función
« en: 20 de Mayo de 2006, 13:17:56 »
Hola muy buenas,

Tengo una pequeña gran duda. Según leo en el manual de CCS, la función #SEPARATE permite ahorrar memória ROM, sobretodo como en mi caso que tengo más de 256 lineas y me aparece el mensaje Out of ROM, A segment or the program is too large. Pero ante esto me asalta la siguiente duda: ¿el programa podrá seguir ejecutandose mientras atiende a la función definida después del separate?

#SEPARATE función
#SEPARATE le dice al compilador que el procedimiento o función que sigue a la directiva será llevado a cabo por SEPARADO. Esto es útil para evitar que el compilador haga automáticamente un procedimiento en línea (INLINE). Esto ahorra memoria ROM pero usa más espacio de la pila. El compilador hará todos los procedimientos #SEPARATE, separados, tal como se solicita, aun cuando no haya bastante pila.
Ejemplo:
#separate
swap_byte (int *a, int *b) {
int t;
t=*a;
*a=*b;
*b=t;

Muchas gracias,

Un saludo,