Проблема с возвратом из asm процедурки в Си код
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
merlin 16 июня 2003 г. 10:31
|
|
|
|
Народ помогите !
Пишу пишу прогу для AT90S4433.
Основной код порги на Си, но есть функции на асемблере.
Так вот вызываю asm фунцию она нормально отрабатывает, делает все что нужно, но по команде ret вываливается или в начало программы или в обработчик прерывания или еще куда нибудь. Как сделать так чтобы она возвращалась туда куда нужно?
и еще, как вызывать прерывание по таймеру строго через 1 сек.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Не поленился - посмотрел: читайте Compiler Reference Guide, а в нем главу Assembly Language Interface. Там в самом начале все и прописано, что можно и что не иожно. — Пытливый (16.06.2003 12:24, пустое)
- Ответ: :) — merlin (16.06.2003 12:51, 41 байт)
- возможно проблема с зачисткой стека параметров перед возвратом — Tiny12 (16.06.2003 11:26, 197 байт)
- А какой C-компилер? А не делаете ли Вы в своей функции на Ассемблере чего-нибудь недопустимого? Например, используете регистр, которого трогать нельзя и т.п.? — Пытливый (16.06.2003 10:54, пустое)
- Ответ: — merlin (16.06.2003 11:01, 796 байт)
- Похоже на переполнение стека - увеличь стек и/или прошерсти программу — Aivengo (16.06.2003 10:40, пустое)
- На счет одной секунды - у CVAVR есть пример с миганием светодиода, частота задается fmove — Aivengo (16.06.2003 10:37, 1696 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru