Цитата(VDV @ Aug 7 2008, 21:01)

что хочется:
сделать знаковое умножение 2-х байтов, получить 16-ти битное значение.
В то время как pgm_read_byte возвращает uint8_t
Цитата(VDV @ Aug 7 2008, 21:01)

затем расширить его до 32-х бит,
сложить с 32-х битной величиной из массива и запомнить в массиве результат.
Что gcc 4.1.2 отлично делает...
Советую Вам _всегда_ использовать оптимизацию по размеру:
OPT = s
Цитата(VDV @ Aug 7 2008, 21:01)

ткните, плиз, носом где понятно написано как делать ассемблерные вставки.
http://www.nongnu.org/avr-libc/user-manual/inline_asm.html