Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ:

Отправлено MOHOMAX 10 октября 2008 г. 15:56
В ответ на: Посмотрите значения SP и адрес возврата при входе в (+) отправлено <font color=gray>Quasy</font> 10 октября 2008 г. 14:00

спасибо.. вот что накопал:
Отлаживаюся по инструкциям ассемблера. Дохожу до инструкции LCALL (вызов моей функции), выполняю её и сразу же после этого в окошке CallStack (где хранится стек вызовов функций) пропадают все надписи. Как такое может быть?
И ещё: в функции используются два макроса (которые я откуда то стырил):
#define DIV(a, b) ((a) / (b) - ((a) % (b) < 0))
#define LEAPS_THRU_END_OF(y) (DIV (y, 4) - DIV (y, 100) + DIV (y, 400))
Я заметил, что если использование этих макросов закомментить, то при входе в функцию окошко CallStack не портится... очень интересно.
Кстати я не совсем понимаю, как работает макрос DIV, а точнее операцию ((a) % (b) < 0)


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
скольким Омам равен эквивалент двух резисторов по 10 Ом, соединённых параллельно?:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru