Цитата(Сергей Борщ @ Mar 10 2008, 20:12)

нафига компилятор будет при каждом вызове функции сохранять какой-то из регистров, если он не портится в вызываемой функции. Нет уж - ваша функция знает, какие регистры портит - пусть она их (только нужные и никакие другие) и сохраняет.
Нихрена он(ИАР) не знает какие надо сохранять. А если функция портит все, а вызвавшаая её функция и вся программа использует только 1 или 2 !? Зачем сохранять всё, когда можно и нужно только эти 2 ? ИАР прекрасно это делает если всё это сделано на С.
Если вызывать функцию через указатель то-же не видит, и сохраняет ВСЕ регистры, а не только те что используются в вызываемой функции.
Пробовал дефайнить по разному, надеялся что увидит, не увидил. Вот думаю а если как __интринсик, или ещё как, ну что-бы понял как свою С функцию?
Пока отвечал
Сергею пропустил.
Цитата(Baser @ Mar 10 2008, 20:25)

...под ИАРом использую только инлайн-функции (макросы).
Можно поподробней ?
Цитата
p.s. А если настолько лень в асм функции самому сохранить в стеке регистры, то пишите функции на Си, тогда компилятор сделает это за вас - на то но и
Си компилятор 
Очень уж много сохранять придётся.
Согласен, что мои простые асм функции проще переписать на С. Но вопрос не праздный, пригодится!