не для бутлодера, а для вызова функции по номеру.
Работает на всех камнях, компилятор сам знает, как их адресовать, длинно или коротко
__flash TMessage_Handler FuncArray[MAX_TYPES]=
{
_Not_Defined_Function, //--0--
_System_handler_1, //---1--
_System_handler_2, //--2--
.
.
}
инициализация массива
int _Service_Port_Function(unsigned char From_Port,unsigned char Cmd,unsigned char Data, unsigned char Device, unsigned char Network);
#define _System_handler_1 _Service_Port_Function
И вызов по номеру:
if(FuncArray[ToPort])
{
_This_Handler_Number = ToPort;
ttt=FuncArray[ToPort](FromPort,Cmd,Data,Device,Network);
_This_Handler_Number = 0; //существует только в момент выполнения
}
else
ttt=-1; // Хандлер не существует!
<\pre>