Это я уже понял:) но когда функция вызывает другую функцию и тд. этого же нет
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Хитрый Чэн
15 апреля 2005 г. 14:57
В ответ на:
Это ее ваша RCALL Delay сбивает с толку. Откуда компилятору знать, какие регистры попортились в этой подпрограмме. Вон он и перестраховался.
отправлено Elektronik 15 апреля 2005 г. 14:45
такая фигня только в обработчике :(
Составить ответ
|||
Конференция
|||
Архив
Ответы
Вызов функции из другой функции обладает неким детерминизмом, а прерывание может быть вызвано в любой момент времени в любом месте основной программы.
—
rezident
(15.04.2005 15:00,
пустое
)
Про детерминизм понятно, в принципе все понятно что он делает
—
Хитрый Чэн
(15.04.2005 15:21,
пустое
)
А смысл ложить в стек все регистры ...
—
Хитрый Чэн
(15.04.2005 15:19, 107 байт)
ну откуда компилятору знать сколько регистров займет функция, особенно если она в другом модуле.
—
Elektronik
(15.04.2005 15:23,
пустое
)
Однако кейл для 51-го это знает.
—
vmp
(15.04.2005 17:08,
пустое
)
Если все функции используют R1, то если функция вызовет ...
—
Хитрый Чэн
(15.04.2005 15:36, 167 байт)
А что делать, если будут вложенные прерывания?
—
rezident
(15.04.2005 15:55, 488 байт)
Компиляторы разрабатывают люди, вот и адресуйте этот вопрос разработчикам компилятора :)
—
rezident
(15.04.2005 15:20,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru