переносимость кода-переносимость кода... Не так давно была необходимость работать с жки со встроеннм контроллером SED1335. Сам нашел несколько примеров кода, точнее инициализационной последовательности. Нашел несколько примеров на асме и на Си. Кроме этого прислали из Powertip код инициализации, для филипкового арма, написанный на Си. Кода там было экранов 20, не меньше, при том, куча вставок директив условной компиляции, где надо и где не надо, что просто опупеть. Плюнул на эту муть, написал на асме программную ногодрыгалку, для контроллера, и далее верхним уровнем был сишник, команды типа lcd_write(reg, datd), где reg-определял что именно пишется, данные или команды, а data -сами данные. С точки зрения портируемости: переписать в таком коде нужно будет только две функции, остальное не потребует изменений, совсем.
Те же лыжи были: работал с радиомодулем Xemics DP1203 кажется, они там дают свою API. Дык эта хреновина при компиляции 10 кило скушала, я просто в шоке был. Выкинул ее нафиг, и заново все переписал, опираясь на описание регистров.
Итого:MSP430 не столь мощная платформа, чтобы тратить 90% ресурсов на мусор, следовательно приходится часто использовать асм, к тому же команд не так уж много=)