Цитата(smalcom @ Jan 4 2016, 10:27)

я вам отвечу: ничего она не даст.
Это потому что функции пустые, в них не изменяются регистры.
Допустим, регистры все-таки изменяются, тогда они при вызове будут сохраняться, а при возврате - восстанавливаться, и время, потраченное на это, может быть намного больше чем собственно сохранение-восстановления PC.
Это может быть определяющим для выбора цикл с функциями/цикл без функций
Вот начало какой-то функции текущего проекта на MSP430, перед выполнением значащих действий 6 подготовительных команд:
Код
void ConvertStatSeconds(unsigned long sec)
{ unsigned long my_hour;
ConvertStatSeconds:
00D60C 120A push.w R10
00D60E 120B push.w R11
00D610 1208 push.w R8
00D612 1209 push.w R9
00D614 4C08 mov.w R12,R8
00D616 4D09 mov.w R13,R9
my_hour=sec/3600;
00D618 403E 0E10 mov.w #0xE10,R14
......
А вот функция инициализации портов, в которой регистры не искажаются. "Две большие разницы"
Код
ClockConfiguration:
00E614 40F2 0056 0056 mov.b #0x56,&DCOCTL
BCSCTL1=0x7; // CPU faster RSEL=7
00E61A 40F2 0007 0057 mov.b #0x7,&BCSCTL1
BCSCTL2=SELS; //select SMCLK=XT2CLK
00E620 42F2 0058 mov.b #0x8,&BCSCTL2
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
00E624 40B2 5A80 0120 mov.w #0x5A80,&WDTCTL
OnLed();
00E62A D0F2 0080 001D bis.b #0x80,&P4OUT
}
Так о каких функциях в главном цикле говорит топикстартер?
Да он сам не знает - 4 такта и все. Ни реальных требований не прозвучало, ни реальных потерь.