Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странное дизассемблирование
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Redaer
Добрый день

Вопрос у меня в следующем.

Пишу программулинку на IAR 4.40 под ARM, собсно пытаюсь продебажить, и вот увидел в дизассемблере этой самой программки вот такую строчку:
Код
[u]WriteTest();[/u]
000005A0  EAFFFFFE  B  0x000005A0


Я так понимаю, команда В - это прыжок по какому-либо адресу, так почему он прыгает на тот же... Если идти в дебагере по шагам, то с этой строчки он сдвинутся не может.

Собсно попробовал добавить вызовы других процедур до WriteTest() - ситауция изменилась лишь адресом, но действие то же - прыжок на вызов самой себя.

Подскажите, пожалуйста, в чем косяк help.gif
Сергей Борщ
Цитата(Redaer @ Sep 21 2007, 12:02) *
Я так понимаю, команда В - это прыжок по какому-либо адресу, так почему он прыгает на тот же...
Ну да. В вашем примере B 0x000005A0 - прыжок на адрес 0x000005A0, т.е. на адрес этой команды.
Dog Pawlowa
Цитата(Redaer @ Sep 21 2007, 12:02) *
Подскажите, пожалуйста, в чем косяк help.gif

Поищите строчку: #define WriteTest() for(;;)
biggrin.gif
Redaer
2Сергей Борщ: понятно, что В - это прыжок. Вопрос в другом, почему IAR так интерпетирует вызов процедуры. Она объявлена в другом файле.

2Dog Pawlowa: смешно smile.gif но все нормально в этом плане. Подобных дефайнов я не делаю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.