Кучеряво живете. Оптимизации... Вот где треш и угар ;) Не хватало
всего одного байта, чтобы нужное впихнулось в жалкие 128 байт
MSP430G2230. Размер стека 20 байт (меньше нельзя - и так все ужал до минимума). Остальное глобальные структуры данных. Пришлось похерить последствия CALL из cstartup.s43...
int main( void )
{
//SP+2 (освободим 2 байта памяти)
__op_code(0x5321);
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
BCSCTL1 = CALBC1_1MHZ; // Set DCO 1 MHz
DCOCTL = CALDCO_1MHZ;
....
1 594 bytes of CODE memory (+ 2 absolute, 8 range fill )
127 bytes of DATA memory (+ 35 absolute )
32 bytes of CONST memory (+ 412 range fill )