mandigit (23.09.2010 22:40, просмотров: 137) ответил Kit на Для совсем полной уверенности можно заглянуть в сгенерённый асмовый код. А компилятор сам не сохраняет регистры?
асмовый код изучается, как отче наш, только вот уверенности, что все трюки компилятора будут оставлять любой код в заданных рамках -нет. Там не процедура прерывания вызывается, а в скоростном прерывании при наступлении некоторого события включаются прервания, что-бы получить допустимую латентность и вызывается обычная процедура, а вызов этот окаймлен сохранением/восстановлением регистров, а поскольку неизвестно, какие именно регистры компилятор будет использовать в этой процедуре - сохраняются все возможные (точнее все это было-бы R0-R31, а я сохраняю только R0-R3, R16-R31, а регистры R4-R15 резервирую для регистровых переменных, только не все из зарезервированных переменных использую - вот и не понятно, не попытается-ли компилятор оптимизировать код и использовать что-то из R4-R15)