Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Имеет значение, что при входе в main, указатель стека SP был например 0х0800. Main состоит цикла. В нем нескольких команд и вызовов функций.
Даже на вид линейный код оптимизатор может организовать в виде подпрограмм, если увидит что-то повторяющееся. Да и функции тоже могут вызываться через call. Таким образом, в момент прерывания указатель стека может быть например не 0x0800, а например 0x07fc. Отработает прерывание, и, по Вашему возврату вернется в начало main с уменьшенным указателем стека 0x07fc. В следующий раз то же самое: прерывание произойдет при SP =0x07fa. и так далее. В конце концов - (_!_)
Составить ответ | Вернуться на конференцию.
Ответы